【问题标题】:How can I get the date in 24 hours format如何获取 24 小时格式的日期
【发布时间】:2016-01-16 08:28:30
【问题描述】:
NSDate *localDate = [NSDate date];
NSTimeInterval timeZoneOffset = [[NSTimeZone systemTimeZone] secondsFromGMTForDate:localDate];
NSDate *gmtDate = [localDate dateByAddingTimeInterval:-timeZoneOffset];

这给了我 12 小时格式的时间。因此,例如,现在是下午 2.15。它给了我 2016-01-16 02:15:00 +0000。

但是,我想要 24 小时格式,例如 14:15:00。我也想要时间。我怎样才能得到它。

【问题讨论】:

  • 请看一下代码。我找不到使用日期格式化程序将日期从 12 小时转换为 24 小时的方法。我需要时间在格林威治标准时间。不是我没有研究。我只是没有找到正确的方向。如果我做错了什么,那么至少给我指出正确的方向。现在,做 NSDate *now =[NSDate date];正在给我 2016-01-16 08:46:33 +0000,这与下午 2:50 差不多。因此,如果有其他方法,请提出建议。

标签: ios formatting nsdate nstimeinterval


【解决方案1】:

如果您需要以所需格式表示时间的字符串,请尝试使用 NSDateFormatter 并将其设置为 GMT timeZone 和所需的 dateFormat(在您的情况下为 HH:mm:ss

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"HH:mm:ss"];
    [formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
    NSLog(@"Current time in GMT = %@", [formatter stringFromDate:[NSDate date]]);

这将以 GMT 时区的12:34:56 格式打印时间

有关日期格式的更多信息,请参阅this fine article

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-22
    • 2012-12-12
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    相关资源
    最近更新 更多