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

标签 objective-c cocoa formatting timezone nsdate

我正在使用

NSDate *date = [NSDate date];

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

最佳答案

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

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

关于objective-c - 将 [NSDate date] 的日期缩短几个小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8466744/

相关文章:

python - 使用 Python 解析格式化的 JSON

ios - 单击点注释 iOS 后显示自定义 View

ios - 默认情况下直接添加到数组

macos - 如何以编程方式以特定分辨率渲染全屏 openGL?

excel - 如何从 VLookup 返回值中保留日期格式?

c# - JSON 序列化输出具有 C# 转义格式

iphone - 应用内购买完成后保存下载的内容

objective-c - 静态 UITableView 不是全屏

objective-c - (Cocoa) 单窗口 Cocoa 应用程序中的 UIViewController 子类等效于什么?

objective-c - cocoa 沙盒应用程序 : Spawn FFMPEG