0
NSDateFormatter *newformat = [NSDateFormatter new];

[newformat setDateFormat:@"yyyy/MM/dd HH:mm:ss"];

NSString *string = [newformat stringFromDate:[NSDate date]];

我正在获取所需格式的字符串,但不是我尝试关注的日期

NSDate *newone = [secondformatter dateFromString:string];
4

4 回答 4

0

由于您正在获取所需格式的字符串,这意味着格式化已成功完成。您的代码应该可以正常工作。那么你在做什么来检查格式化是否完成?打印日期对象以默认 UTC 格式打印日期,不带任何格式。所以通过打印来检查日期是行不通的。

这可能会帮助您检查,或者文件说,即直接打印格式化程序的输出,但我不会打赌......

NSLog(@"%@", [secondformatter dateFromString:string]);
于 2013-05-30T09:07:39.550 回答
0

NSDate 没有格式。它采用单一格式。格式化程序根据日期对象为您生成特定格式的字符串。日期也保持不变。

 NSDateFormatter * dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy/MM/dd"];//here the output string will be in the fromat specified here
NSString * dateEndPrev = [dateFormat stringFromDate:[NSDate date]];
NSLog(@"%@",dateEndPrev);
于 2013-05-30T09:14:17.740 回答
0

经过一些研究,我知道不可能像 NSCalendarDate 这样在 NSDate 中使用“yyyy/MM/dd”这种格式来保存日期。

于 2013-06-20T12:55:09.250 回答
0

试试看,

   NSDateFormatter * dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"MMM dd, YYYY"];
    NSString * dateEndPrev = [dateFormat stringFromDate:[NSDate date]];

    NSDateFormatter * dateFormat1 = [[NSDateFormatter alloc] init];
    [dateFormat1 setDateFormat:@"MMM dd, YYYY a"];

    NSDate *tmp = [dateFormat dateFromString:dateEndPrev];
    NSString *strNew = [dateFormat1 stringFromDate:tmp];

    NSDate *date = [dateFormat1 dateFromString:strNew];

它可能对你有用。

于 2013-05-02T10:06:13.323 回答