gpt4 book ai didi

ios - 如何将日期格式化为 IST?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:45:52 27 4
gpt4 key购买 nike

我必须按如下格式设置日期:

2014 年 7 月 19 日 10:27:16 中国标准时间

我该怎么做?我应该将“IST”作为字符串对象发送吗?

我试过了-

NSDate* sourceDate = [NSDate date];  
NSLog(@"Date is : %@", sourceDate);

NSTimeZone *currentTimeZone = [NSTimeZone localTimeZone];
NSLog(@"TimeZone is : %@", currentTimeZone);

NSDateFormatter * dateFormatter = [[NSDateFormatter alloc]init] ;
dateFormatter setDateFormat:@"dd-MMM-yyyy HH:mm:ss Z"];
[dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];

NSLog(@"%@",[dateFormatter stringFromDate:sourceDate]);

最佳答案

我已经根据 Apple's official docs 尝试了几种时区格式化程序方案和 Unicode date-formatter standards .

我这样初始化时区:

NSTimeZone *_timezone = [NSTimeZone timeZoneWithName:@"IST"];

+0530 偏移向我提供了正确的时区,因此它被用于我的 NSDateFormatter 的实例。

NSDateFormatter *_dateFormatter = [[NSDateFormatter alloc]init];
[_dateFormatter setTimeZone:_timezone];

这里是关于我使用不同格式规范的列表:

  • z = GMT+0530 IST
  • zz = GMT+0530 IST
  • zzz = GMT+0530 IST
  • zzzz = 印度标准时间 IST
  • zzzzz = 印度标准时间 IST

似乎没有一个标准格式说明符可以提供实际的 "IST" 仅作为字符串,匹配是 "India Standard Time IST" 与格式说明符 zzzzzzzzz – 但您可以看到 "GMT+0530 IST" 仍然包含它和其余的格式化程序。

注意:其他格式说明符,如 ZvVxX 似乎也没用。


我已经阅读了更多关于格式说明符的内容,文档中提到使用 z:

The short specific non-location format (e.g. PDT). Where that is unavailable, falls back to the short localized GMT format.

这对我来说意味着,印度标准时间的实际简短特定非位置格式不能直接通过NSDateFormatter获得——或者某些原因指定为 "GMT+0530 IST" 而不是短 "IST"

另一方面,我不确定您的服务器端是否接受long specific non-location format(又名 "India Standard Time IST") ,或者时区必须仅由字符串 "IST" 标记。

恐怕如果只需要最新的格式,您将需要手动且不优雅地添加它,例如:

[_dateFormatter setDateFormat:@"dd-MMM-yyyy HH:mm:ss"];
NSString *_date = [[_dateFormatter stringFromDate:[NSDate date]] stringByAppendingString:@" IST"];

注意:我还发现月份名称也应该大写,我不确定这是另一种期望还是月份名称的通用大写(例如“Jul”、“Sep”等...) 对您的服务器端来说已经足够好了——我没有注意在我当前的答案中将它们大写。


† 我还没有找到任何应​​该描述实际短格式的标准,所以根据 unicode 标准,我假设 "IST" 应该是"GMT+0530 IST" 的缩短格式 – 但这仅基于我个人的推测。

关于ios - 如何将日期格式化为 IST?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24928666/

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