gpt4 book ai didi

ios - 将 [NSDate date] 转换为本地化的 UTC 日期字符串

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:22:39 24 4
gpt4 key购买 nike

我有一个 NSDate 对象,我正在将其发送到我们使用的 API。我们的应用程序在全局范围内使用,因此 API 希望日期采用 UTC,例如:

"/Date(1481704200000)/"

但是,日期需要考虑时区偏移,因为 API/服务器没有为我们做这件事。如果我们不这样做,当我们在服务器上查看时,日期是不正确的。

我正在执行以下操作,但似乎产生了错误的日期:

// Offset
float timezoneoffset = [[NSTimeZone localTimeZone] secondsFromGMT];

// Date
CFTimeInterval startDate = [[NSDate date] timeIntervalSince1970];
startDate = startDate - timezoneoffset;
NSString *dateStarted = [NSString stringWithFormat:@"/Date(%.0f000)/", startDate];

如何正确考虑本地时区并创建格式正确的 UTC 日期字符串?

最佳答案

不需要任何时区操作。

NSTimeInterval interval = [[NSDate date] timeIntervalSince1970];
NSString *dateStarted = [NSString stringWithFormat:@"/Date(%.0f)/", interval * 1000];

无论用户的时区如何,这都会为您提供 UTC 时间。

尝试一下。在您的测试设备上使用多个不同的时区设置运行此代码,您将在每种情况下得到相同的结果。

关于ios - 将 [NSDate date] 转换为本地化的 UTC 日期字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41135823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com