NSDate
有没有一种简单的方法可以使用当前的 UTC 日期/时间来初始化?
问问题
65460 次
3 回答
147
[NSDate date];
您可能想要创建一个执行以下操作的类别:
-(NSString *)getUTCFormateDate:(NSDate *)localDate
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
[dateFormatter setTimeZone:timeZone];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *dateString = [dateFormatter stringFromDate:localDate];
[dateFormatter release];
return dateString;
}
于 2010-04-11T02:26:15.083 回答
13
NSDate 是对从绝对参考日期 2001 年 1 月 1 日 00:00 GMT 开始的间隔的引用。因此类方法 [NSDate date] 将返回该间隔的表示。要以 UTC 文本格式显示该数据,只需使用 NSDateFormatter 和适当的 NSTimeZone (UTC) 来根据需要进行渲染。
于 2010-04-11T02:44:12.077 回答
1
NSDate对象封装了一个时间点,独立于任何特定的日历系统或时区。日期对象是不可变的,表示相对于绝对参考日期(2001 年 1 月 1 日00:00:00 UTC )的不变时间间隔。
斯威夫特版本:
extension NSDate {
func getUTCFormateDate() -> String {
let dateFormatter = NSDateFormatter()
let timeZone = NSTimeZone(name: "UTC")
dateFormatter.timeZone = timeZone
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
return dateFormatter.stringFromDate(self)
}
}
于 2016-01-09T17:20:59.120 回答