簡體   English   中英

從NSString轉換為NSDate:如何忽略時區

[英]Convert to NSDate from NSString: How to ignore the timezone

我正在使用以下代碼將日期格式為2012-06-30的NSString轉換為NSDate:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormatter dateFromString:dateString];

省略[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]] ,NSString中的值為2012-06-29 23:00:00加上一些自動添加的時區信息,這表明系統對當前時區有一些假設。

當我使用上述方法設置時區時,轉換工作正常。

但是,如果用戶在不同的時區會發生什么?

如何確保iOS僅按原樣解析日期,並且不添加任何時間信息?

數據不會更改,時區不會影響該日期本身,它只會影響日期顯示,因此日期為13:00 GMT的日期將與日期為14:00 GMT +1的日期相同

您不必關心時區,而可以將日期轉換為設備使用的當前時區

[dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];

這將設置設備的時區

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM