将整数转换为日期字符串

时间:2012-02-01 02:29:26

标签: iphone objective-c datetime integer

在Objective-C中:是否有一种简单方式,如在Excel和SAS中,将整数转换为日期时间字符串?

在Excel中,您将格式化为“mmm dd,yyyy hh:mm:ss”。

例如,如果我有整数: 1328062560

我希望输出为: 2012-01-31 21:16:00

或甚至(如在Excel中): 2012年1月31日21:16:00

PS:我不想过于苛刻,但我希望简单内联 用于NSLog ,所以我可以简单地写一下调试 NSLog(“作为整数的时间是%d,作为日期%mmmddyyyyhh:mm:ss”,[array objectAtIndex:i],[array objectAtIndex:i]);

3 个答案:

答案 0 :(得分:12)

你可以得到一个NSDate这样的对象:

NSDate *date = [NSDate dateWithTimeIntervalSince1970:1328062560];

然后,如果你不关心字符串的确切格式,你可以这样做:

NSString *s = [date description];

这会给你一个像“2012-02-01 02:16:00 +0000”这样的字符串。

如果您想要特定的字符串格式,请使用NSDateFormatter

答案 1 :(得分:1)

您可以使用NSDateFormatter执行此操作。首先从整数值中创建一个字符串:

NSString *dateString = [NSString stringWithFormat:@"%d", integerDate];

然后使用相应的格式创建NSDateFormatter

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[myDateFormatter setDateFormat:@"yyyyMMddhhmm"]; // Change to suit your format
NSDate *dateFromString = [myDateFormatter dateFromString:dateString];

然后,您可以按照所需格式将字符串检索为字符串:

[myDateFormatter setDateFormat:@"yyyy/MM/dd hh:mm"]; // Change to suit your format
NSString *stringFromDate = [formatter stringFromDate:dateFromString];

答案 2 :(得分:1)

假设整数是自纪元以来的秒数,您可以使用NSDate的{​​{1}}或initWithTimeIntervalSince1970方法创建一个dateWithTimeIntervalSince1970对象,其中包含您的日期关心,然后使用NSDate来展示它。