-4

我希望将日期格式从“ 2013-01-21 11:55:00 ”更改为“ 2013 年 1 月 21 日 5:30 AM ”。

我尝试了下面的代码。但它给出了一个固定的日期。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeStyle:NSDateFormatterMediumStyle];

NSDate *myDate = [NSDate dateWithTimeIntervalSinceReferenceDate:162000];
NSLog(@"%@",[dateFormatter stringFromDate:myDate]);

上面的代码给出了恒定的输出:2001 年 1 月 3 日 2:30:00 AM

但就我而言,日期是动态的。

4

3 回答 3

2
    NSString *firstDate = @"2013-01-21 11:55:00";
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy'-'MM'-'dd  HH':'mm':'ss"];
    NSDate *date = [dateFormatter dateFromString:firstDate];
    [dateFormatter setDateFormat:@"MMM d, yyyy h:mm a"];

    NSLog(@"Expected Result___ %@",[dateFormatter stringFromDate:date]);
于 2013-04-02T07:11:42.143 回答
1

试试这个

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

[dateFormatter setDateFormat:@"MMM d, yyyy h:mm a"];

NSDate *myDate = [NSDate dateWithTimeIntervalSinceReferenceDate:162000];
NSLog(@"%@",[dateFormatter stringFromDate:myDate];

试试[NSDate date][NSDate dateWithTimeIntervalSinceReferenceDate:162000]

于 2013-04-02T07:08:51.017 回答
0

好吧,您将获得恒定的输出,因为您将恒定的输入设为 162000 !!!

首先使用其格式从字符串中获取日期,然后使用新格式从获取的日期中获取字符串

使用它来输出格式为

@"MMM d, yyyy h:mm a"

NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"MMM d, yyyy h:mm a"];
NSLog(@"%@",[dateFormatter stringFromDate:[NSDate date]]);
于 2013-04-02T07:06:53.617 回答