如何更改日期选择器中的日期格式

时间:2012-12-19 12:02:20

标签: iphone objective-c datepicker nsdateformatter uidatepicker

在我的iPhone应用中,我需要以 yyyy/MM/dd 格式显示日期,如下图所示

enter image description here

但是在iPhone日期选择器中,它的格式为 MM / dd / yyyy ,但我的应用程序并不统一

我尝试更改日期选择器的本地值(使用不同的国家/地区)但不使用默认格式。

如何根据我的要求更改日期选择器上的日期格式?

感谢任何帮助。

3 个答案:

答案 0 :(得分:5)

在Apple的文档中,他们在UIDatePickerModeDate中指定了该文档。 DatePicker显示月份,月份和年份。这些项目的确切顺序取决于locale设置。这种模式的一个例子是[11月| 15 | 2007]。但在设备中它显示为DD / MM / YYYY。有关详细信息,请参阅UIDatePicker

因此,如果您想自己动手,可以使用您想要的值创建自己的UIPickerView

答案 1 :(得分:5)

UIDatePicker适应用户的设置。可以使用locale:method更改其格式,但现在在iOS 5.0中已弃用。

您可以在iPhone的设置中查看格式:

Settings > General > International > Region Format >

如果你想要一个特定的格式,可以考虑制作一个自己的选择器,但是对于日期选择器是非常不鼓励的。

并参考此Link

答案 2 :(得分:-2)

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[NSTimeZone resetSystemTimeZone];
NSTimeZone *gmtZone = [NSTimeZone systemTimeZone];
[dateFormatter setTimeZone:gmtZone];
[dateFormatter setDateFormat:@"day, MMM HH:mm:ss Z"];
NSDate *dateT = [dateFormatter dateFromString:str1];
NSString *strDateTaken=[appDelegate convertDate:dateT withFormat:@"EEEE, MMMM dd,yyyy hh:mm a"];
[dateFormatter release];
- (NSString *)convertDate:(NSDate *)date withFormat:(NSString *)format {
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:format];
    NSString *dt = [formatter stringFromDate:date];
    [formatter release];
    return dt;
}