【问题标题】:Convert integer to a date string将整数转换为日期字符串
【发布时间】:2012-02-23 18:50:41
【问题描述】:

在 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:我不想要求太高,但我希望 simpleinline 在 NSLog 中使用,所以我可以简单地编写用于调试
NSLog("时间为整数%d,日期为%mmmddyyyyhh:mm:ss", [array objectAtIndex: i], [array objectAtIndex: i]);

【问题讨论】:

    标签: iphone objective-c datetime integer


    【解决方案1】:

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

    NSDate *date = [NSDate dateWithTimeIntervalSince1970:1328062560];
    

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

    NSString *s = [date description];
    

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

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

    【讨论】:

    • 这对我来说很好,虽然我没有将它与 NSLog 一起使用。谢谢!
    • 如何更改此日期的格式以及如何删除+0000??请帮忙
    • “如果您想要特定的字符串格式,请使用NSDateFormatter。”
    【解决方案2】:

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

    【讨论】:

    • 顺便说一句:我想为 NSLog 做“内联”,而 not 必须有 3 或 4 行 alloc 和 init,并创建一个字符串,然后是 NSDateFormatter。
    • @user945869,欢迎来到我猜的“Apple 方式”。 :p 由于他们控制着发布渠道,开发人员无法选择具有他们喜欢的功能的替代语言或框架。尽可能出去。 ;) 我#define 一个宏来做我的日志记录,我可以在那里添加我想要的任何代码,然后取消定义它而不是删除最终版本的所有日志行。
    • Henrik:谢谢你幽默的方法。我正在深入,但我认为会有一种快速而肮脏的方式来格式化时间;例如stringDate = put(timeIntervalSince1970, ddmmmyyyy.);就像在 SAS 中所做的那样。彼得又名 user945869
    【解决方案3】:

    假设整数是从纪元开始的秒数,您可以使用NSDateinitWithTimeIntervalSince1970dateWithTimeIntervalSince1970 方法创建一个带有您关心的日期的NSDate 对象,然后使用@987654325 @ 来美化它以供展示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-02
      • 2020-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-27
      • 1970-01-01
      • 2011-11-28
      相关资源
      最近更新 更多