2011-06-07 52 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