我可以使用以下代码获取表示PST中当前日期和时间的NSString。
//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的问题。 提前完成。
答案 0 :(得分: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);
答案 1 :(得分:0)
利用
[dateFormatter dateFromString:urString];
在您的情况下,urString
为currentDateStr
答案 2 :(得分: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);
}