簡體   English   中英

我在此日期格式化程序中做錯了什么

[英]What am I doing wrong in this date formatter

 NSDate *date=[[NSDate alloc] init];
    NSDateFormatter *dfLocal=[[NSDateFormatter alloc]init];
    [dfLocal setDateFormat:@"yyyy-MM-dd"];
    date=[dfLocal dateFromString:@"2011-09-22"];
    NSLog(@"the date is %@",date);

這是我的代碼,並給出輸出為..

2012-04-02 18:13:45.338 TimeProblem[2656:207] the date is 2011-09-21 18:30:00 +0000

為什么將其附加到此。.18:30:00 +0000結束..? 我只希望它是00:00:00 +0000

在下面使用:

NSDate *date=[[NSDate alloc] init];
NSDateFormatter *dfLocal=[[NSDateFormatter alloc]init];
[dfLocal setDateFormat:@"yyyy-MM-dd"];
[dfLocal setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
date=[dfLocal dateFromString:@"2011-09-22"];

NSLog(@"the date is %@",date);

您處於GMT + 5.30中。 這就是為什么您會得到時間偏移。 這是一個時區問題。 添加此行將解決問題。

 [dfLocal setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];

您好,您想獲取日期和時間,然后像這樣使用。

[dfLocal setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

希望這會幫助你。

暫無
暫無

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

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