2011-06-07 78 views
0

我可以使用以下代码在PST中获取表示当前日期和时间的NSString。无法从NSString中获取NSDate

//get current date and time 
    NSTimeZone *timeZone = [[NSTimeZone alloc] initWithName:@"America/Los_Angeles"];  
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"MM/dd/yy HH:mm:ss zzz"]; 
    [dateFormatter setTimeZone:timeZone]; 
    NSLocale *enUSPOSIXLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]; 
    [dateFormatter setLocale:enUSPOSIXLocale]; 
    [enUSPOSIXLocale release]; 
    NSDate *date = [NSDate date]; 
    NSString *currentDateStr = [dateFormatter stringFromDate:date]; 
    NSLog(@"currentDateStr %@",currentDateStr); 
    [dateFormatter release]; 

编辑:

但下面的代码来获取NSString的NSDate的不为我的目的。

//get date from string 
    NSDateFormatter* formatter2 = [[NSDateFormatter alloc] init]; 
    [formatter2 setDateFormat:@"MM/dd/yy HH:mm:ss"]; 
    NSDate *dt = [[NSDate alloc]init]; 
    dt = [formatter2 dateFromString:currentDateStr]; 
    NSLog(@"dt %@",dt); 

“dt”显示为空。

有没有人可以帮我解决这个从NSString获取NSDate的问题。 Thanx提前。

回答

1

NSDateFormatter也有dateFromString:的功能。

编辑:

//get date from string. 
NSDateFormatter* formatter2 = [[NSDateFormatter alloc] init]; 

[formatter2 setDateFormat:@"MM/dd/yy HH:mm:ss zzz"]; 

NSDate *dt = [formatter2 dateFromString:currentDateStr]; 
NSLog(@"dt %@",dt); 
+0

请参阅更新的问题。 – Aisha 2011-06-07 05:58:53

+0

我不确定你的setDateFormat中有什么“zzz”。我删除它,并得到了一些输出。 – 2011-06-07 06:16:21

0

利用

[dateFormatter dateFromString:urString]; 

在你的情况urStringcurrentDateStr

+0

请查看更新后的问题。 – Aisha 2011-06-07 05:59:22

0

使用

- (NSString *)datePickerValueChangedd:(UIDatePicker*) datePicker{ 
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 50, 68, 68)]; 
NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
df.dateStyle = NSDateFormatterMediumStyle; 
label.text = [NSString stringWithFormat:@"%@",[df stringFromDate:datePicker.date]]; 

NSLog(@"I am inside the datePickerValueChanged - - %@", label.text); 
[df release]; 
globalVariable= label.text; 
return (label.text); 
} 
+0

如何使用此示例代码。我没有使用datePicker。 – Aisha 2011-06-07 06:24:31