【问题标题】:Convert date format in returns wrong date xcode [duplicate]转换日期格式返回错误的日期xcode [重复]
【发布时间】:2018-01-02 23:50:40
【问题描述】:

我想将日期从23 May, 2017 转换为23-05-2017

我已尝试使用以下代码,但它返回 25-12-2016

NSDateFormatter *oldFormatter = [NSDateFormatter new];
[oldFormatter setDateFormat:@"dd MMM, YYYY"];
NSDate *oldDate = [oldFormatter dateFromString:dateStr];

NSDateFormatter *newFormatter = [NSDateFormatter new];
[newFormatter setDateFormat:@"dd-MM-YYYY"];

我使用的是 Xcode 8.2.1。 谢谢。

【问题讨论】:

标签: ios objective-c xcode nsdate nsdateformatter


【解决方案1】:

您需要进行以下更改:

YYYY --> yyyy

更新代码:

    NSString *strInputDateString = @"23 May, 2017";
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"dd MMM, yyyy"];

    //Set new dateFormate
//    23-05-2017
    NSDate *date1 = [dateFormat dateFromString:strInputDateString];
    [dateFormat setDateFormat:@"dd-MM-yyyy"];

    NSString *strOutputDateString = [dateFormat stringFromDate:date1];
    NSLog(@"%@",strInputDateString);
    NSLog(@"%@",strOutputDateString);

【讨论】:

    猜你喜欢
    • 2013-07-31
    • 1970-01-01
    • 1970-01-01
    • 2019-08-19
    • 1970-01-01
    • 1970-01-01
    • 2018-09-28
    • 2020-10-27
    • 2017-07-28
    相关资源
    最近更新 更多