【问题标题】:Problems with changing the date & time format in objective c xcode在objective c xcode中更改日期和时间格式的问题
【发布时间】:2014-04-23 01:28:43
【问题描述】:

我已经有一段时间了,浏览所有论坛寻求帮助,但我就是无法让它工作。我是 xcode 的新手,我正在尝试将 yyyy-mm-dd hh:mm:ss +0000 更改为例如 2014 年 3 月 21 日下午 6:30。我当前的代码是:

-(void)viewDidLoad{
UIDatePicker *datePicker = [[UIDatePicker alloc]init];

[datePicker setDate:[NSDate date]];
[datePicker addTarget:self action:@selector(updateTextField:) forControlEvents:UIControlEventValueChanged];
[_postTime setInputView:datePicker];
}

-(void)updateTextField:(id)sender{
if([_postTime isFirstResponder]){
    UIDatePicker *picker = (UIDatePicker*)_postTime.inputView;
    _postTime.text = [NSString stringWithFormat:@"%@",picker.date];
}
}

我将不胜感激。

谢谢

【问题讨论】:

    标签: objective-c date time datepicker nsdate


    【解决方案1】:

    NSDateFormatterdateFormat 字符串一起使用。如果您想要 yyyy-mm-dd 格式,请使用 yyyy-MM-dd HH:mm:ss Z(注意大写 MM 表示月份,HH 表示小时):

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    formatter.timeZone = [NSTimeZone timeZoneWithName:@"GMT"];
    formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss Z";
    formatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_US"];
    _postTime.text = [formatter stringFromDate:picker.date];
    

    如果您想在当地时区使用 2014 年 3 月 21 日下午 6:30 的格式,您可以使用类似:

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    formatter.dateFormat = @"d MMMM yyyy, hh:mma";
    formatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_US"];
    _postTime.text = [formatter stringFromDate:picker.date];
    

    如果您想以用户设备指定的格式格式化该日期(这是呈现日期/时间的好方法,尊重用户在设置中的偏好):

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    formatter.dateStyle = NSDateFormatterLongStyle;
    formatter.timeStyle = NSDateFormatterShortStyle;
    _postTime.text = [formatter stringFromDate:picker.date];
    

    有关详细信息,请参阅数据格式指南NSDateFormatter Class ReferenceDate Formatters 部分。日期格式化程序让您可以很好地控制日期的格式化方式。

    【讨论】:

    • Rob 是否可以更改 datePicker 中的日期和时间格式?我尝试了很多方法,但都没有实现。
    • 我不明白你的意思。我建议您发布一个问题,向我们展示您尝试过的内容并准确描述您需要/想要的内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    相关资源
    最近更新 更多