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/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |