【问题标题】:How to change the format of date in date picker如何更改日期选择器中的日期格式
【发布时间】:2012-12-19 12:02:19
【问题描述】:

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

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

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

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

感谢任何帮助。

【问题讨论】:

标签: iphone objective-c datepicker nsdateformatter uidatepicker


【解决方案1】:

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

所以如果你想自己做,你可以用你想要的值创建你自己的UIPickerView

【讨论】:

    【解决方案2】:

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

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

    Settings > General > International > Region Format >
    

    如果您想要特定格式,请考虑制作自己的选择器,但非常不鼓励使用日期选择器。

    也可以参考这个Link

    【讨论】:

    【解决方案3】:
     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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-25
      • 1970-01-01
      • 1970-01-01
      • 2015-12-24
      • 2014-04-27
      • 1970-01-01
      • 2020-11-29
      相关资源
      最近更新 更多