Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 将整数转换为日期字符串_Iphone_Objective C_Datetime_Integer - Fatal编程技术网

Iphone 将整数转换为日期字符串

Iphone 将整数转换为日期字符串,iphone,objective-c,datetime,integer,Iphone,Objective C,Datetime,Integer,在Objective-C中:是否有一种像Excel和SAS那样的简单的方法将整数转换为日期时间字符串 在Excel中,您可以将格式设置为“mmmdd,yyyy hh:mm:ss” 例如,如果我有整数: 1328062560 我希望输出是: 2012-01-31 21:16:00 甚至(在Excel中): 2012年1月31日21:16:00 PS:我不想要求太高,但我希望它简单和内联在NSLog中使用,这样我就可以编写简单的调试 NSLog(“作为整数的时间是%d,作为日期是%mmmddyyyy

在Objective-C中:是否有一种像Excel和SAS那样的简单的方法将整数转换为日期时间字符串

在Excel中,您可以将格式设置为“mmmdd,yyyy hh:mm:ss”

例如,如果我有整数: 1328062560

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

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

PS:我不想要求太高,但我希望它简单内联在NSLog中使用,这样我就可以编写简单的调试

NSLog(“作为整数的时间是%d,作为日期是%mmmddyyyyyhh:mm:ss”,[array objectAtIndex:i],[array objectAtIndex:i])

可以使用
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];

假设整数是从纪元开始的秒数,您可以使用
NSDate
initWithTimeIntervalSince1970
dateWithTimeIntervalSince1970
方法创建一个包含您关心的日期的
NSDate
对象,然后使用
NSDateFormatter
对其进行整理以供显示。

您可以获得如下
NSDate
对象:

NSDate *date = [NSDate dateWithTimeIntervalSince1970:1328062560];
然后,如果您不关心字符串的确切格式,您可以这样做:

NSString *s = [date description];
这将为您提供一个类似“
2012-02-01 02:16:00+0000
”的字符串


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

顺便说一句:我想对NSLog进行“内联”操作,而不必有3或4行alloc和init,然后创建一个字符串,然后再创建一个NSDateFormatter。@user945869,欢迎使用我想的“苹果方式”:而且,由于他们控制发布渠道,开发人员不能选择具有他们喜欢的特性的替代语言或框架。趁你能出去的时候出去我定义了一个宏来做日志记录,我可以在那里添加我想要的任何代码,并取消定义它,而不是删除最终版本的所有日志行。亨里克:谢谢你幽默的方法。我正在深入,但我认为会有一种快速而肮脏的方式来安排时间;e、 g.stringDate=put(时间间隔自1970年起,ddmmmyyyy.);就像在SAS中可能做的那样。Peter aka User945869这对我来说很好,尽管我没有将它与NSLog一起使用。谢谢如何更改此日期的格式以及如何删除+0000??请帮助“如果需要特定的字符串格式,请使用
NSDateFormatter