2011-01-26 31 views
0

我是iPhone新手。我想將默認日期設置爲NSDate Object作爲字符串。我不明白我覺得可能是在NSCalender的方法沒有簡單的方法或方法...有沒有簡單的方法來獲取日期?

?如果有這樣的方法,請告訴我。

在此先感謝。

回答

0

編輯:上架時間格式化字符串。

您需要看NSDateNSDateFormatter類。這裏有一個如何使用它們一個簡單的例子:

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]; 
+0

yup buddy我忘了sudenly我從我自己的代碼得到答案.......但非常感謝你給我時間 – Ankit

0

我不是你是什麼完全清楚問,但與當前日期創建一個NSDate對象的一個​​實例,一個調用: 的NSDate *數值指明MyDate = [NSDate的日期];

如果你說你有一個需要被解析到初始化一個NSDate對象的c字符串或NSString的,是另外一個問題。

我這裏有一些代碼貼: How get a datetime column in SQLite with Objective C

展示瞭如何創建使用NSDateFormatter NSString的NSDates。

-2
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc]init]autorelease]; 
[dateFormatter setDateFormat:@"yyyy-mm-dd"]; 
NSDate *yourDate = [dateFormatter dateFromString:@"2011-01-26"]; 
+0

四個空格縮進是所有你需要的代碼塊。另外,歡迎來到這個網站! –

+0

「mm」是分鐘的說明符,而不是幾個月。因此,您的示例/外觀/喜歡它的工作原理是因爲1月是默認月份,但實際上創建的日期爲2011年1月26日00:01本地時間。如果你的日期是'2011-10-01',創建日期將是1/Jan/2011在00:10本地O_O小心! –

+0

確定它很好,但它不需要24小時的時間,我該怎麼辦? – Ankit

0

如果你想從一個字符串創建一個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]; 
+0

喜賈森感謝您的回答,但我有在服用24小時的時間問題..如果我拿13:00比它不是在我的櫃檯正常工作,所以幫我 – Ankit

+0

@Ankit你可以連續使用12小時的時間,否則就沒時間在所有。如果你不關心時間部分,不要把HH:mm放在那裏;如果你想要12小時的時間,你可以用hh:mm代替。 –

0
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]; 

現在,您可以使用字符串日期。 :)

相關問題