Iphone 日期选择器未显示正确的日期

Iphone 日期选择器未显示正确的日期,iphone,Iphone,我是iPhone应用程序开发新手。我正在使用datepicker创建一个简单的应用程序。我有一个日期选择器和一个按钮。我只想在单击按钮时打印选定的日期和时间。下面是我的密码 - (IBAction)showSelectedDate:(id)sender { NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar]; NSDate *pickerDate = [m_datePicker date];

我是iPhone应用程序开发新手。我正在使用datepicker创建一个简单的应用程序。我有一个日期选择器和一个按钮。我只想在单击按钮时打印选定的日期和时间。下面是我的密码

- (IBAction)showSelectedDate:(id)sender {    
    NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar];
    NSDate *pickerDate = [m_datePicker date];

    NSLog(@"%@", pickerDate); 
}
日志中的日期是打印的,但它是错误的。我从picker中选择了2012-03-28 03:26 PM这个日期,在日志中我得到了日期2012-03-28 09:50


感谢您的支持。…

请尝试此代码。。。它可能对你有用

- (IBAction)showSelectedDate:(id)sender
{
        NSDate *selectedDate = myPicker.date;

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"DD-MM-YYYY"];


    NSString *str = [formatter stringFromDate:selectedDate];
    NSLog(@" %@",selectedDate);
}
如果你想要时间的话

[formatter setDateFormat:@"DD-MM-YYYY"];
用这条线

[formatter setDateFormat:@"day, MMM HH:mm:ss Z"];

希望这对您有所帮助。

您使用的是格林尼治标准时间,而不是当地时间,因此它看起来是错误的。使用

datePicker.timeZone = [NSTimeZone localTimeZone];

[m_datePicker date];此“m_datepicker”属于哪个类??,因为它返回的“日期”正在您的日志中显示。!apple文档说默认值是创建UIDatePicker对象的日期。因此,我认为您得到了默认日期。请在此处查看答案[[1]:此代码只打印日期。但我对日期没有问题。我对时间有问题。请参阅我在上方的原始帖子。[格式化程序setDateFormat:@yyyy-MM-dd HH:MM:ss Z];这对我来说很有用……但当我将字符串转换为日期时,它再次显示错误。请发布您的代码。这样我可以检查您的错误所在。-IBActionshowSelectedDate:idsender{NSCalendar*calendar=[NSCalendar AutoUpdateingCurrentCalendar];NSDate*pickerDate=[m_datePicker date];NSDateFormatter*Formatter 2=[[NSDateFormatter alloc]init];[formatter2 setDateFormat:@yyyy-MM-dd HH:MM:ss Z];NSString*str=[formatter2 stringFromDate:pickerDate];NSLog@%@,str;NSDateFormatter*formatter3=[NSDateFormatter alloc]init];[formatter3 setDateFormat:@yyyy-MM-dd HH:MM:ss Z];[formatter3 setTimeZone:[NSTimeZone]];NSDate*finalDate=[formatter3 dateFromString:str];NSLog%@,finalDate;}@BhavinMakadia:您设置了选择器的时区了吗?