刚开始使用NSDate的时候 ,用[NSDatedate]取到的时间是格林威治时间,因为时差的问题不能满足本地使用需求,所以就需要通过一个方法,将时间转化一下,在网上找到了一个个人感觉比较好的方法,再此做一个分享
先定义一个宏 表示一整天的时间(s)
#define kAWholeDay 24 * 60 *60
- (void)viewDidLoad { [super viewDidLoad]; NSDate *yesterDate = [[NSDate alloc]initWithTimeIntervalSinceNow:-kAWholeDay * 1]; NSDate *todayDate = [NSDate date]; NSDate *tomorrowDate = [[NSDate alloc]initWithTimeIntervalSinceNow:kAWholeDay * 1]; NSDate *afterTomorrowDate = [[NSDate alloc]initWithTimeIntervalSinceNow:kAWholeDay * 2]; NSLog(@"昨天 %@",[self getDateStringWhichDay:yesterDate]); NSLog(@"今天 %@",[self getDateStringWhichDay:todayDate]); NSLog(@"明天 %@",[self getDateStringWhichDay:tomorrowDate]); NSLog(@"后天 %@",[self getDateStringWhichDay:afterTomorrowDate]); [yesterDate release]; [tomorrowDate release]; [afterTomorrowDate release]; } -(NSString *)getDateStringWhichDay:(NSDate *)date { NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"yyyy.MM.dd EE HH:mm:ss SS a"]; NSString *dateString=[formatter stringFromDate:date]; [formatter release]; return dateString; }
2013-12-14 23:15:42.810 NewTest[2614:70b] 昨天 2013.12.13 Fri 23:15:42 81 PM 2013-12-14 23:15:42.812 NewTest[2614:70b] 今天 2013.12.14 Sat 23:15:42 81 PM 2013-12-14 23:15:42.813 NewTest[2614:70b] 明天 2013.12.15 Sun 23:15:42 81 PM 2013-12-14 23:15:42.814 NewTest[2614:70b] 后天 2013.12.16 Mon 23:15:42 81 PM
//大写的H日期格式将默认为24小时制,小写的h日期格式将默认为12小时
//不需要特别设置,只需要在dataFormat里设置类似"yyyy-MMM-dd"这样的格式就可以了
日期格式如下:
y 年 Year 1996; 96
M 年中的月份 Month July; Jul; 07
w 年中的周数 Number 27
W 月份中的周数 Number 2
D 年中的天数 Number 189
d 月份中的天数 Number 10
F 月份中的星期 Number 2
E 星期中的天数 Text Tuesday; Tue
a Am/pm标记 Text PM
H 一天中的小时数(0-23) Number 0
k 一天中的小时数(1-24) Number 24
K am/pm中的小时数(0-11) Number 0
h am/pm中的小时数(1-12) Number 12
m 小时中的分钟数 Number 30
s 分钟中的秒数 Number 55
S 毫秒数 Number 978
z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
Z 时区 RFC 822 time zone -0800 */
yy: 年的后2位
yyyy:完整年
MM: 月,显示为1-12
MMM: 月,显示为英文月份简写,如 Jan
MMMM:月,显示为英文月份全称,如 Janualy
dd: 日,2位数表示,如02
d: 日,1-2位显示,如 2
EEE: 简写星期几,如Sun
EEEE:全写星期几,如Sunday
aa: 上下午,AM/PM
H: 时,24小时制,0-23
K: 时, 12小时制,0-11
m: 分,1-2位
mm: 分,2位
s: 秒,1-2位
ss: 秒,2位
S: 毫秒
常用日期结构:
yyyy-MM-dd
HH:mm:ss.SSS
yyyy-MM-dd
HH:mm:ss
yyyy-MM-dd
MM dd yyyy
如果想了解的更多,请访问:http://blog.csdn.net/l_ch_g/article/details/8217725
感谢原作者