[英]Converting date from one format to other returns nil in objective c
我正在嘗試將“ 2017-12-05T00:00:00-0500”格式的日期轉換為Dec05。為此,我正在使用以下代碼,但每次都返回nil。 我不知道這段代碼有什么問題,請仔細閱讀代碼並讓我知道我的錯誤,對此方向的任何指導將不勝感激。 提前致謝!
[dtF setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ"];
NSDate *d = [dtF dateFromString:[dic valueForKey:@"weight_date"]];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@" YYYY-MM-DD hh:mm:s"];
NSString *st = [dateFormat stringFromDate:d];
NSLog(@"%@",st);
NSDateFormatter *dtF = [[NSDateFormatter alloc] init];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dtF setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSDate *d = [dtF dateFromString:[dic valueForKey:@"weight_date"]];//@"2017-12-05T00:00:00-05:00"
[dateFormat setDateFormat:@"MMM dd"];
NSString *st = [dateFormat stringFromDate:d];
NSLog(@"%@",st);
您的日期格式有誤,我進行了更改,請檢查答案。
檢查以下代碼,我已用有問題的日期替換了您的dic:
NSDateFormatter *dtF = [[NSDateFormatter alloc] init];
[dtF setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSDate *d = [dtF dateFromString:@"2017-12-05T00:00:00-0500"];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMM dd"];
NSString *st = [dateFormat stringFromDate:d];
NSLog(@"%@",st);
當我測試您的代碼時,我知道dtf不返回值d為nil
所以dtf的格式應該是
yyyy-MM-dd'T'HH:mm:ss-SSSS
然后用這個代替休息。
NSDate *d = [dtF dateFromString:[dic valueForKey:@"weight_date"]];
[dtF setDateFormat:@"MMM dd"];
NSString *st = [dtF stringFromDate:d];
NSLog(@"%@",st);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.