【发布时间】:2020-03-27 18:56:35
【问题描述】:
在这里,当我尝试将该字符串转换为它变为空的日期时,我得到了一个字符串格式的日期。如何直接从下面的函数中获取日期。
-(NSString *)getLocalDateTimeFromUTC:(NSString *)strDate
{
// create dateFormatter with UTC time format
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZZ"]; //@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZZ"
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
NSDate *date = [dateFormatter dateFromString:strDate]; // create date from string
// change to a readable time format and change to local time zone
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];
NSString *timestamp = [dateFormatter stringFromDate:date];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSDate *date2 = [dateFormatter dateFromString:timestamp];
NSLog(@"%@", date2); //Mon Dec 2 00:00:00 2019. wrong formate
return [dateFormatter stringFromDate:date];
}
【问题讨论】:
-
我正在获取日期字符串 (03-12-2019)
-
我想在 NSDate 中而不是在字符串中
-
能否更正一下
-
我再次尝试像这样转换它 'NSString *timestamp = [dateFormatter stringFromDate:date]; [dateFormatter setDateFormat:@"dd-MM-yyyy"]; NSDate *date2 = [dateFormatter dateFromString:timestamp]; NSLog(@"%@", date2);'但是弄错了日期。 (2019 年 12 月 3 日星期二 00:00:00)
-
你的输入字符串是什么
标签: ios objective-c cocoa-touch nsdate nsdateformatter