1

我在将日期打印为 NSString 时遇到问题。我以这种方式在我的应用程序生命周期的某些点存储了当前日期和时间:

NSDate *current = [NSDate date];
long currentTime = [current timeIntervalSince1970];

现在,我需要在 UILabels 中显示这些日期。我试过这样:

NSDate *date = [NSDate dateWithTimeIntervalSince1970:currentTime];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/MM/yyyy - HH:mm:ss"];
NSString *stringFromDate = [formatter stringFromDate:date]; 

但我没有得到正确的日期和时间。我会错过什么?

谢谢!

4

2 回答 2

2

尝试这个,

NSString *stringFromDate=[NSDateFormatter 本地化StringFromDate:日期 dateStyle:NSDateFormatterMediumStyle timeStyle:NSDateFormatterMediumStyle];

您也可以更改日期样式和时间样式。

于 2012-12-07T05:41:31.177 回答
0

您的currentTime变量是 a long,而不是NSTimeInterval(a double)。您不仅会丢失小数部分(不太重要),还会丢失时间间隔的上限。将其更改为:

NSTimeInterval currentTime = [current timeIntervalSince1970];
于 2012-12-07T05:45:43.863 回答