-2

我知道这是一个简单的问题,但我处理这个问题将近 6 个小时。我想订购另一种格式的日期。没什么大不了的,但它仍然让我回馈:(null)

例子:

我的日期: 2013-06-01 10:54:42

我想显示的日期: 01-06-2013 10:54:42

我的代码:

NSString *dateString = @"2013-06-01 10:54:42";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [dateFormat dateFromString:dateString];
[dateFormat setDateFormat:@"dd-MM-yyyy HH:mm:ss"];
NSLog(@"%@",date);

任何帮助,将不胜感激!

4

3 回答 3

1

尝试:

    NSLog(@"%@",[dateFormat stringFromDate:date]);

您正在创建格式化程序,但没有使用它来创建日期字符串。相反,您只是直接打印日期对象,其描述方法是使用默认格式打印出来,而不是您尝试使用的格式化程序。

于 2013-06-01T17:51:48.380 回答
1

你的代码工作正常

  NSString *dateString = @"2013-06-01 10:54:42";
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSDate *date = [dateFormat dateFromString:dateString];
    [dateFormat setDateFormat:@"dd-MM-yyyy HH:mm:ss"];
    NSLog(@"%@",date);
    NSLog(@"%@",[dateFormat stringFromDate:date]);
于 2013-06-01T17:54:06.213 回答
1

无论哪种方式,它都对我有用。必须是您遇到问题的实际代码中的某些内容。您显示的代码显然是为这个问题准备的:

NSString *dateString = @"2013-06-01 10:54:42";

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [dateFormat dateFromString:dateString];

[dateFormat setDateFormat:@"dd-MM-yyyy HH:mm:ss"];

NSLog(@"%@",date);
NSLog(@"%@",[dateFormat stringFromDate:date]);

输出:

2013-06-01 19:54:19.497 testpgm[23606:c07] 2013-06-01 08:54:42 +0000
2013-06-01 19:54:21.452 testpgm[23606:c07] 01-06-2013 10:54:42
于 2013-06-01T17:59:42.220 回答