转换NSString到NSDate,添加时间



我有一个NSString,它是05/08/2014。我想把它转换成NSDate。然而,我还需要添加时间,因此结果NSDate看起来像这样:

Thu, 8 May 2014 00:00:00 -0500

时间不重要,我只需要它显示指定时区的午夜。

I have try:

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        [dateFormatter setDateFormat:@"EEE, d MMM yyyy HH:mm:ss zzz"];
        NSDate *dateFromString = [[NSDate alloc] init];
        dateFromString = [dateFormatter dateFromString:textdate.text];
        [dateFormatter release];
        NSLog(@"%@", dateFromString);

但是日期返回为(null)。

第一次转换的日期格式错误。您需要做的是首先将字符串从一种格式转换为日期,并将新日期转换为新的字符串格式。像这样:

NSDateFormatter  *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"MM/dd/yyyy"]; //convert the string into date (american time zone)
    NSDate *theDate = [formatter dateFromString:textdate.text];
    [formatter setDateFormat:@"EEE, d MMM yyyy HH:mm:ss ZZZ"];// as @Logan suggested
    NSString *newDate = [formatter stringFromDate:theDate];

EEE, d MMM yyyy HH:mm:ss ZZZ

您的时区代码是小写而不是大写。

zzz对应PDT

ZZZ对应-0500

UTS 35

最新更新