objective-c - 将 [NSDate date] 的日期缩短几个小时

我正在使用

NSDate *date = [NSDate date];

获取日期,但我得到的日期差了 2 小时。

最佳答案

NSDate 对象没有时区。它们代表了一个绝对的时刻。然而,当你询问它的 description 时(例如通过 NSLog() 打印它),它必须选择一个时区。最合理的“默认”选择是 GMT。如果您自己不在格林威治标准时间,则日期似乎不正确,按您自己的偏移量计算。

您应该始终使用 NSDateFormatter 来创建显示字符串。格式化程序的时区应该设置为您的,这是默认设置。

https://stackoverflow.com/questions/8466744/

相关文章:

r - 用适当的精度数字校正R中的“摘要”

c# - 对混合数字和字符串进行排序

c - printf 格式(%d 与 %u)

haskell - 如何让haskell输出不是科学计数法的数字?

java - 打印出数组中的元素,元素之间使用逗号

r - 自动格式化 R 代码的工具

linux - 如何在 unix/linux 中显示 'ls -l' 命令的列标题?

c# - 在单个键盘快捷键中使用 R# 重新格式化代码

ruby-on-rails - 在 Ruby 中将换行符解释为 markdown(Github Ma

python - 将文本列表格式化为列