我是iPhone新手。我想将默认日期设置为NSDate Object作为字符串。我不明白我觉得可能是在NSCalender的方法没有简单的方法或方法...有没有简单的方法来获取日期?
?如果有这样的方法,请告诉我。
在此先感谢。
我是iPhone新手。我想将默认日期设置为NSDate Object作为字符串。我不明白我觉得可能是在NSCalender的方法没有简单的方法或方法...有没有简单的方法来获取日期?
?如果有这样的方法,请告诉我。
在此先感谢。
编辑:上架时间格式化字符串。
您需要看NSDate和NSDateFormatter类。这里有一个如何使用它们一个简单的例子:
NSString* defaultDateString = [NSString stringWithFormat:@"2011-01-22 15:30:00"];
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate* defaultDate = [dateFormatter dateFromString:defaultDateString];
[dateFormatter release];
,如果你想从一个日期获取字符串你可以使用:
NSString* defaultDateString = [dateFormatter stringFromDate:defaultDate];
我不是你是什么完全清楚问,但与当前日期创建一个NSDate对象的一个实例,一个调用: 的NSDate *数值指明MyDate = [NSDate的日期];
如果你说你有一个需要被解析到初始化一个NSDate对象的c字符串或NSString的,是另外一个问题。
我这里有一些代码贴: How get a datetime column in SQLite with Objective C
展示了如何创建使用NSDateFormatter NSString的NSDates。
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc]init]autorelease];
[dateFormatter setDateFormat:@"yyyy-mm-dd"];
NSDate *yourDate = [dateFormatter dateFromString:@"2011-01-26"];
四个空格缩进是所有你需要的代码块。另外,欢迎来到这个网站! –
“mm”是分钟的说明符,而不是几个月。因此,您的示例/外观/喜欢它的工作原理是因为1月是默认月份,但实际上创建的日期为2011年1月26日00:01本地时间。如果你的日期是'2011-10-01',创建日期将是1/Jan/2011在00:10本地O_O小心! –
确定它很好,但它不需要24小时的时间,我该怎么办? – Ankit
如果你想从一个字符串创建一个NSDate,你需要使用一个NSDateFormatter来做到这一点。请注意格式化程序在构建日期时将使用当前区域设置的时区,除非您将时区作为格式的一部分。有关构建时区的更多信息,请参阅NSTimeZone。
例如,使用无处不在的格式UTC“2011-01-16 00:00”创建一个日期,你会怎么做:
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
// Only certain abbreviations are okay, like UTC. See docs for more info
[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
NSDate* midnight_26_jan_2011_utc = [formatter dateFromString:@"2011-01-26 00:00"];
// this will display in your system locale
// (for me, it shows 2011-01-25 19:00 +0500 because I'm America/New_York time)
NSLog(@"date: %@", midnight_26_jan_2011_utc);
[formatter release];
喜贾森感谢您的回答,但我有在服用24小时的时间问题..如果我拿13:00比它不是在我的柜台正常工作,所以帮我 – Ankit
@Ankit你可以连续使用12小时的时间,否则就没时间在所有。如果你不关心时间部分,不要把HH:mm放在那里;如果你想要12小时的时间,你可以用hh:mm代替。 –
NSDateFormatter *DateFormatter=[[NSDateFormatter alloc] init];
[DateFormatter setTimeZone:[NSTimeZone defaultTimeZone]];
[DateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"]; //here,you can set the date format as you need
NSDate *now = [[[NSDate alloc] init]autorelease];
NSString *theDate = [DateFormatter stringFromDate:now];
现在,您可以使用字符串日期。 :)
yup buddy我忘了sudenly我从我自己的代码得到答案.......但非常感谢你给我时间 – Ankit