回答
您可以使用日期格式化爲this post解釋說:
// Given some NSDate* date
NSDateFormatter* formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateFormat:@"dd MMM yyyy"];
NSString* formattedDate = [formatter stringFromDate:date];
我相信你可以簡單地只是把「日」在格式字符串中的DD結束。像這樣:
@"ddth MMM yyy
但我沒有在我面前的Mac來測試它。如果這不起作用,你可以嘗試這樣的事情:
[formatter setDateFormat:@"dd"];
NSString* day = [formatter stringFromDate:date];
[formatter setDateFormat:@"MMM yyyy"];
NSString* monthAndYear = [formatter stringFromDate:date];
NSString* date = [NSString stringWithFormat:@"%@th %@", day, monthAndYear];
大概你想使用「st」,「nd」或「rd」而不是「th」取決於數字(當然這隻適用於英語,並且不容易定位到其他語言)。 – 2010-11-15 04:44:55
然後你可以改變「th」爲一個變量,並創建一個方法,將day變量作爲參數,並返回「th」,「st」等,將新變量設置爲該值,並且我們很好。但是,我認爲這是**方式**顯示字符串的工作量太大,我只是用'@「dd MMM,yyyy」'將其顯示爲「2010年11月15日」。 :) – Joel 2010-11-15 04:49:05
是的我同意「2010年11月15日」會沒事的。感謝您的快速幫助。 – meetpd 2010-11-15 05:02:15
我知道我回答的東西是舊的;但我做了以下。
@implementation myClass
+ (NSString *) dayOfTheMonthToday
{
NSDateFormatter *DayFormatter=[[NSDateFormatter alloc] init];
[DayFormatter setDateFormat:@"dd"];
NSString *dayString = [DayFormatter stringFromDate:[NSDate date]];
//yes, I know I could combined these two lines - I just don't like all that nesting
NSString *dayStringwithsuffix = [myClass buildRankString:[NSNumber numberWithInt:[dayString integerValue]]];
NSLog (@"Today is the %@ day of the month", dayStringwithsuffix);
}
+ (NSString *)buildRankString:(NSNumber *)rank
{
NSString *suffix = nil;
int rankInt = [rank intValue];
int ones = rankInt % 10;
int tens = floor(rankInt/10);
tens = tens % 10;
if (tens == 1) {
suffix = @"th";
} else {
switch (ones) {
case 1 : suffix = @"st"; break;
case 2 : suffix = @"nd"; break;
case 3 : suffix = @"rd"; break;
default : suffix = @"th";
}
}
NSString *rankString = [NSString stringWithFormat:@"%@%@", rank, suffix];
return rankString;
}
@end
我一把抓起這個答案前面的類方法:NSNumberFormatter and 'th' 'st' 'nd' 'rd' (ordinal) number endings
- 1. 如何顯示日期時間2011年11月16日15:12格式
- 2. 在Python中解析這個日期:2010年11月5日
- 3. 如何將日期字符串轉換爲格式「2010年11月17日」
- 4. 如何將日期顯示爲日/月/年
- 5. 日期顯示1969年12月31日
- 6. 無法解析的日期:「星期六2013年11月2日00:15:00」
- 7. 更改爲僅在標籤中顯示「日期爲2015年1月15日08:15)與秒以外+0000
- 8. 如何將日期轉換爲年,月,日日期格式
- 9. 在Rails中,我如何顯示日期,如2009年12月1日星期一,2009年12月1日
- 10. 的Javascript 2010 11月30日加等於2011年3月2日
- 11. 如何在Excel表格中將日/月/年的日期轉換爲月/日/年的日期
- 12. 11年3月20日上午11:24(月/日/年時:MIN)
- 13. 如何將dateTime格式轉換爲顯示即:11月15日13:50
- 14. 將日本的日期格式(2013年11月24日)轉換爲正常日期格式(2013-11-24)
- 15. 如何將2013年11月3日(即2013年3月11日)轉換爲php中的unix timestamp?
- 16. T-SQL轉換2010年1月28日至2010年1月28日星期五
- 17. PHP Spreadsheet_Excel_Reader總是閱讀日期爲1999年11月30日
- 18. 如何與另一日期(月/年)比較日期(月/年)
- 19. 如何格式化DatePicker以顯示日期格式日/月/年?
- 20. jQuery Fullcalendar,日期(2011,12,25)顯示爲2012年1月25日
- 21. java.text.ParseException:無法解析的日期: 「2014年11月11日」
- 22. 將「2013年7月15日」轉換爲「2013-07-15」Android
- 23. PHP將日期格式從xml Feed轉換爲2011年11月25日至11月25日?
- 24. 日期格式函數顯示日期爲「2014年1月13日」
- 25. 如何在Mobiscroll中將明年日期顯示爲默認日期
- 26. 如何將日期時間轉換爲日/月/日/月/年yyyy格式
- 27. 日期格式是1339698600000 = 2012年6月15日?
- 28. 轉換 - 2000 11月9日至2000年9月11日
- 29. 日期選擇日月年
- 30. android:如何在android中的日曆日期中顯示月份和年份?
事實上,幾乎可以肯定你不知道。爲了顯示日期,你應該真的使用NSDateFormatters的短日期,中日期或長日期樣式。這樣,用戶就可以控制日期的樣子,並且可以正確運行其國際化設置。 – JeremyP 2010-11-15 10:01:08