1574068247.545103
NSDate *datenow = [NSDate date];
NSString *timeSp = [NSString stringWithFormat:@"%f", (double)[datenow timeIntervalSince1970]];
複製代碼
1574068265
NSDate *datenow = [NSDate date];
NSString *timeSp = [NSString stringWithFormat:@"%ld", (long)[datenow timeIntervalSince1970]];
複製代碼
0
,格式如:1574068602000
NSDate *datenow = [NSDate date];
NSString *timeSp = [NSString stringWithFormat:@"%ld", (long)[datenow timeIntervalSince1970]*1000];
複製代碼
1574070082387
// 獲取當前時間0秒後的時間
NSDate *date = [NSDate dateWithTimeIntervalSinceNow:0];
// *1000 是精確到毫秒,不乘就是精確到秒
NSTimeInterval time = [date timeIntervalSince1970]*1000;
NSString *timeStr = [NSString stringWithFormat:@"%.0f", time];
複製代碼
// 傳入的時間戳timeStr若是是精確到毫秒的記得要/1000
NSTimeInterval timeInterval = [timeStr doubleValue]/1000;
NSDate *detailDate = [NSDate dateWithTimeIntervalSince1970:timeInterval];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// 實例化一個NSDateFormatter對象,設定時間格式,這裏能夠設置成本身須要的格式
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss SS"];
NSString *dateStr = [dateFormatter stringFromDate:detailDate];
複製代碼
//1.將這兩個時間戳轉換成日期
NSDate *date1 = [NSDate dateWithTimeIntervalSince1970:1451047216];
NSDate *date2 = [NSDate dateWithTimeIntervalSince1970:1451847216];
//2.開始比較
// 比較date1是否是比date2早——>會返回一個比較早的日期
NSDate *date3 = [date1 earlierDate:date2];
NSLog(@"比較早的日期:%@",date3);
//比較兩個日期誰比誰晚
NSDate *date4 = [date1 laterDate:date2];
NSLog(@"比較晚的日期:%@",date4);
// 比較兩個日期 是否是相同 ——>返回值BOOL類型
BOOL result = [date1 isEqualToDate:date2];
NSLog(@"%d",result);
複製代碼
// 100天后
NSDate *date = [NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24 * 100];
NSDate *nowDate = [NSDate date];
// 日期升序
if ([nowDate compare:date] == NSOrderedAscending) {
NSLog(@"若是打印,nowDate比ndate時間早,如nowDate=2019-11-18, ndate=2020-02-26");
}
複製代碼
NSCalendar
NSDate *nowDate = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
// 初始化日曆組件,能夠選擇須要的組件
NSDateComponents *comps = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitWeekday|NSCalendarUnitWeekdayOrdinal|NSCalendarUnitWeekOfMonth|NSCalendarUnitWeekOfYear|NSCalendarUnitYearForWeekOfYear fromDate:nowDate];
// 獲得:今天是星期幾,返回日期的工做日索引(1 =星期日,2 =星期一,…,7 =星期六)
NSInteger weekDay = [comps weekday];
// 獲得:今天是幾號
NSInteger day = [comps day];
// 獲得:一年中的第幾周
NSInteger weekOfYear = [comps weekOfYear];
複製代碼
NSDateFormatter
格式 能夠使用如下dateFormatter
符號單獨格式化,拿到須要的數據進行處理符號 | 說明 |
---|---|
y/yyy/yyyy/Y/YYY/YYYY/u/uu/uuu/uuuu/U/UUU/UUUU |
完整的年份 |
yy/YY/UU |
2個數字的年份 |
M/MM/L/LL |
1~12 第幾月 |
MMM/LLL |
Jan/Feb/Mar/Apr/May/Jun/Jul/Aug/Sep/Oct/Nov/Dec 月份簡寫 |
MMMM/LLLL |
January/February/March/April/May/June/July/August/September/October/November/December 月份全稱 |
d |
1~31 (月份的第幾天,帶0) |
D |
1~366 (年份的第幾天,帶0) |
e/c/cc |
1~7 (一週的第幾天,週日爲1,帶0) |
E~EEE/eee/ccc |
Sun/Mon/Tue/Wed/Thu/Fri/Sat (星期簡寫) |
EEEE/eeee/cccc |
Sunday/Monday/Tuesday/Wednesday/Thursday/Friday/Saturday (星期全拼) |
H |
0~23 帶0的時,24小時制 |
h |
1~12 帶0的時,12小時制 |
k |
1~24 一天中的小時數,帶0的時,24小時制 |
K |
0~11 帶0的時,12小時制 |
m |
0~59 分鐘 |
s |
0~59 秒數 |
SSS |
毫秒 |
a |
AM/PM (上午/下午) |
A |
0~86399999 (一天的第幾微秒) |
F |
1~5 每個月的第幾周 |
w |
1~53 一年的第幾周,一週的開始爲週日,第一週從去年的最後一個週日起算 |
W |
1~5 一個月的第幾周,一週的開始爲週日 |
q/qq/Q/QQ |
1~4 第幾季度 |
qqq/QQQ |
Q1/Q2/Q3/Q4 季度簡寫 |
qqqq/QQQQ |
1st quarter/2nd quarter/3rd quarter/4th quarter 季度全拼 |
z~zzz |
指定GMT時區的縮寫,GMT+8 |
zzzz/vvvv |
指定GMT時區的名稱,China Standard Time |
Z~ZZZ |
指定GMT時區的縮寫,+0800 |
ZZZZ |
指定GMT時區的縮寫,GMT+08:00 |
v/VVVV |
指定GMT時區的名稱,China mainland Time |
VV |
指定GMT時區的名稱,Asia/Shanghai |
VVV |
指定GMT時區的名稱,Shanghai |
附:個人博客地址git