【问题标题】:Issue with formatting date格式化日期问题
【发布时间】:2016-04-05 13:03:28
【问题描述】:

我知道这个问题已经被问了很多次,并且可能与某些问题重复,实际上我正在尝试通过将日期转换为字符串来将它们存储到数组中。我需要 NSDate 格式的值,所以我再次将该存储的字符串转换为日期。

NSDateFormatter *dateformat =  [[NSDateFormatter alloc] init];
[dateformat setDateFormat:@"MM-dd-yy-hh-mm-ss"];

NSString *date  = [dateformat stringFromDate:datePicker.date];
[kAppDelegate.glbArrName   addObject:date];

但我得到了这个输出:

NSString *date = [kAppDelegate.glbArrDate objectAtIndex:indexPath.row];

NSLog(@"Date of birth %@",date);

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];

[dateFormatter setDateFormat:@"MM-dd-yy-hh-mm-ss"];
NSDate *birthDate = [[NSDate alloc] init];

birthDate = [dateFormatter dateFromString:date];

NSLog(@"Date of birth after formatting %@",birthDate);

输出是:

Date of birth 04-05-16-06-38-14
Date of birth after formatting 2016-04-05 01:08:14 +0000

为什么它会改变格式,就像我之前所做的一样。请帮我找出来..

【问题讨论】:

  • 为什么要在字符串之间转换?一个数组可以毫无问题地容纳NSDate
  • 实际上我也需要格式化,如何直接从 uipicker.date 获取 NSdate 以及格式化.. 我实际上进入字符串
  • NSDate 存储在您的数组中。在需要向用户显示之前不要将其转换为字符串。

标签: ios objective-c nsdate nsdateformatter


【解决方案1】:

您将日期字符串重写回 NSDate,然后打印出 NSDate,它默认为后一种 2016-04-05 01:08:14 +0000 格式,作为 NSDate 的 -description 的一部分。

【讨论】:

    猜你喜欢
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    相关资源
    最近更新 更多