Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios nsdate格式化程序返回nil,如何在mm dd yy AM/PM中设置日期格式化_Ios_Objective C_Nsdate_Nsdateformatter - Fatal编程技术网

Ios nsdate格式化程序返回nil,如何在mm dd yy AM/PM中设置日期格式化

Ios nsdate格式化程序返回nil,如何在mm dd yy AM/PM中设置日期格式化,ios,objective-c,nsdate,nsdateformatter,Ios,Objective C,Nsdate,Nsdateformatter,我有一个日期字符串,如下所示: Printing description of dateTimeString: 2014-07-15 04:15:00 我试图在2014年7月15日凌晨4:15将其转换。 我正在使用的代码: NSString *dateTimeString = appointment.start_time;; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setTi

我有一个日期字符串,如下所示:

Printing description of dateTimeString:
2014-07-15 04:15:00
我试图在2014年7月15日凌晨4:15将其转换。 我正在使用的代码:

NSString *dateTimeString = appointment.start_time;;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeStyle:NSDateFormatterFullStyle];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
[dateFormatter setDateFormat:@"MM-dd-yyyy"];
NSDate *date = [dateFormatter dateFromString:dateTimeString];//date is nil
能不能请一些人帮我设置所需格式的日期


谢谢

您没有使用正确的格式字符串:

NSString *dateTimeString = appointment.start_time;;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeStyle:NSDateFormatterFullStyle];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [dateFormatter dateFromString:dateTimeString];
这将创建正确的
NSDate
对象

关于将其格式化以呈现给您的用户,我非常强调您应该而不是使用静态格式,并要求系统为您提供正确的格式

NSString *formatttedDate = [NSDateFormatter localizedStringFromDate:date dateStyle:NSDateFormatterShortStyle] timeStyle:NSDateFormatterShortStyle];
但如果需要,只需使用特定的日期格式:

[dateFormatter setDateFormat:@"MM-dd-yyyy h:mm a"];
此格式将为您提供所需的日期。

我认为这对您有所帮助

    NSDateFormatter *format = [[NSDateFormatter alloc] init];
    [format setDateFormat:@"ddMMyyyy||HHmmss"];
    NSDate *now = [NSDate date];
    NSString *retStr = [format stringFromDate:now];

该格式字符串与输入字符串匹配吗?感谢您的提示,让我尝试使用am pm格式。您的输入字符串格式应与所需的日期格式完全相同。真正的提示是,您需要使用两种日期格式:字符串->日期->字符串(am/pm不是提示的一部分)。谢谢。我已经能够使用两种日期格式按需要进行转换。然而,am/pm并没有自动追加。我正在尝试使用HH:mm athank you,它解决了我的问题。我可以控制am/pm到am/pm吗?这取决于您的本地情况,但我不能强调您不应该使用静态日期格式。这与问题中要求的任何日期格式都不匹配。