美文网首页iOS归纳
iOS 时间字符串、时间戳、NSDate相互转化

iOS 时间字符串、时间戳、NSDate相互转化

作者: 光之盐汽水 | 来源:发表于2018-12-14 14:52 被阅读0次

1、将如"1544408230000"这个格式的时间戳转化成时间字符串

NSTimeInterval interval = [dateNumber doubleValue] / 1000.0;
NSDate *date = [NSDate dateWithTimeIntervalSince1970:interval];

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy年MM月dd日"];

NSString *dateString = [formatter stringFromDate: date];

2、将时间NSDate转换成时间戳

NSString *timeSp = [NSString stringWithFormat:@"%ld", (long)[date timeIntervalSince1970]*1000];

3、将时间字符串"2018年12月14日"格式的字符串转换成时间NSDate

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy年MM月dd日"];
NSDate *date = [dateFormatter dateFromString:dateString];

4、获取当前时间

NSDate *date = [NSDate date];    //获取的时间会比我们实际时间慢了8个小时

NSTimeZone *zone = [NSTimeZone systemTimeZone];
NSTimeInterval interval = [zone secondsFromGMTForDate:date];
NSDate *currentDate = [date dateByAddingTimeInterval:interval];

5、时间格式

G:      公元时代,例如AD公元
yy:     年的后2位
yyyy:   完整年
MM:     月,显示为1-12,带前置0
MMM:    月,显示为英文月份简写,如 Jan
MMMM:   月,显示为英文月份全称,如 Janualy
dd:     日,2位数表示,如02
d:      日,1-2位显示,如2,无前置0
EEE:    简写星期几,如Sun
EEEE:   全写星期几,如Sunday
aa:     上下午,AM/PM
H:      时,24小时制,0-23
HH:     时,24小时制,带前置0
h:      时,12小时制,无前置0
hh:     时,12小时制,带前置0
m:      分,1-2位
mm:     分,2位,带前置0
s:      秒,1-2位
ss:     秒,2位,带前置0
S:      毫秒
Z:      GMT(时区)

相关文章

网友评论

    本文标题:iOS 时间字符串、时间戳、NSDate相互转化

    本文链接:https://www.haomeiwen.com/subject/eskghqtx.html