我有一個包含日期的mysql中的varchar。我一直試圖將其轉換爲NSDate
,但沒有任何我已經嘗試過的作品。從MySQL NSString
看起來是這樣的:將轉換日期從MySQL到NSDate
2012年8月11日,上午10:17
到目前爲止有關NSString
到NSDate
轉換的所有職位都沒有制定該字符串。如果有人可以請幫助...
我有一個包含日期的mysql中的varchar。我一直試圖將其轉換爲NSDate
,但沒有任何我已經嘗試過的作品。從MySQL NSString
看起來是這樣的:將轉換日期從MySQL到NSDate
2012年8月11日,上午10:17
到目前爲止有關NSString
到NSDate
轉換的所有職位都沒有制定該字符串。如果有人可以請幫助...
我假設你使用JSON用於從MySQL(服務器)中獲取數據並調用myJSONObject
JSON對象NOTE:
myJSONObject
必須使用一些框架序列化像NSJSONSerialization
編輯與一些詳細的問題鏈接
你問到的數據2012年8月11日轉換爲,上午10:17但我的示例代碼試圖轉換爲2012-08-11 10:17:..,我編輯我的示例代碼給你。如需更多信息,看看NSDateFormatter
敬請關注:您可以使用NSDateComponents得到變量month_from_date
。有一些關於它的問題here和here ..如果你不能,請打開一個新帖子。
NSString* dateString = [myJSONObject objectForKey:@"date"];
NSDateFormatter* fmt = [NSDateFormatter new];
[fmt setTimeZone:[NSTimeZone defaultTimeZone]];
// [fmt setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[fmt setDateFormat:@"%@ DD,YYYY, HH:mm",month_from_date];
NSDate* dateFromString = [fmt dateFromString:dateString];
NSLog("Here is date from string: %@",dateFromString);
到NSString
轉換爲NSDate
,請使用NSDateFormatter
。
NSString *_dateString = @"August 11, 2012, 10:17 AM";
NSDateFormatter *_dateFormatter = [[NSDateFormatter alloc] init];
[_dateFormatter setDateFormat:@"MMMM dd, yyyy, HH:mm a"];
NSDate *_date = [_dateFormatter dateFromString:_dateString];
NSLog(@"raw date : %@", _date);
NSLog(@"formatted date : %@", [_dateFormatter stringFromDate:_date]);
輸出NSDate
將包含日期:
raw date : 2012-08-10 23:17:00 +0000
formatted date : August 11, 2012, 11:17 AM
可以格式化NSDate
,只要你願意爲一個不同的輸出,它是由現在登記,但你可以工作NSDate
包含日期的對象。
注:我們不知道從輸入日期的時區時,我們使用的是默認其轉換它,所以NSDate
。如果您設置當前時區,轉換後您將獲得正確的日期。
感謝您的回覆。我解析json類似於你發佈的方式。然而,我放入代碼並仍然得到null。這可能是dateformat是錯誤的 - 再次,2012年8月3日星期五,上午11:20 - 是需要轉換的。 – 2012-08-09 21:52:54
@DanielShaffer請參閱我的編輯 – ilhnctn 2012-08-10 07:38:03