NSDate * now = [NSDate date];
我提前一小时得到这个日期。可能是因为它使用 UTC。
如何获取系统当前日期?
最佳答案
[NSDate date]
返回当前日期。但是,NSDate
没有自己的时区,它只是一个绝对时间点。仅当您将日期显示为字符串或将其转换为日期组件(如日、月、小时等)时,时区才会发挥作用。
使用 NSDateFormatter
获取当前时区日期的字符串表示形式,或在日期格式化程序上使用 setTimeZone:
来指定不同的时区。如果您仅使用 NSLog
,则日期将以 UTC 时区显示(通过在日期对象上隐式调用 description
)。
使用NSCalendar
方法components:fromDate:
从日期中提取各个组成部分(具有给定时区)以进行典型比较,例如“这两个日期是否在该时区的同一天?”。
关于iphone - 如何获取 iPhone 的系统日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8938811/