[英]How to Fetch date and time from a formatted string in iOS
我有一個NSString“ dateString”,其中包含給定格式的日期和時間。
"MM/dd/yyyy HH:mm:ss a"
。
我想使用NSDateFormatter
從dateString提取數據,然后嘗試在字符串"strDate"
。 我無法獲取數據,但唯一的問題是我沒有獲得"hour"
位置的正確值。
例如:
dateString = 1/23/2015 7:06:37 AM
strDate = 01/23/2015 00:06:37 am
如何解決這個問題。 提前致謝。 這是我的代碼:
-(NSString *)getDateQuestion:(NSString *)dateString
{
NSLog(@"dateString = %@",dateString);
//NSString to NSDate
NSDate *datefromString = [[NSDate alloc] init];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT+5:30"]];
[dateFormatter setTimeZone: [NSTimeZone systemTimeZone]];
[dateFormatter setDateFormat:@"MM/dd/yyyy HH:mm:ss a"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
datefromString = [dateFormatter dateFromString:dateString];
NSLog(@"dateString1 = %@",datefromString);
//NSDate convert to NSString
[dateFormatter setDateFormat:@"MM/dd/yyyy HH:mm:ss a"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT+5:30"]];
[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSString *strDate = [dateFormatter stringFromDate:datefromString];
NSLog(@"strDate = %@",strDate);
return strDate;
}
只需將正確的日期時間字符串傳遞給函數,不要一次又一次地設置不必要的時區...我希望它可以幫助您...
NSDate *dat = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC+05:30"]];
[dateFormatter setDateFormat:@"MM/dd/yyyy HH:mm:ss a"];
NSString * dateString =[dateFormatter stringFromDate:dat];
NSLog(@"dateString = %@",dateString);
NSLog(@"dateString1 = %@",dateString);
//NSDate convert to NSString
[dateFormatter setDateFormat:@"HH:mm:ss a"];
NSString *strDate = [dateFormatter stringFromDate:dat];
NSLog(@"strDate = %@",strDate);
HH代表24小時。
……坐了12個小時。
[dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
替換為"MM/dd/yyyy hh:mm:ss a"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.