獲取當(dāng)前日期
Swift
let date = Date()
OC
NSDate *date = [NSDate date];
日期轉(zhuǎn)時(shí)間戳
Swift
let ti = date.timeIntervalSince1970
OC
NSTimeInterval ti = [date timeIntervalSince1970];
注:時(shí)間戳(TimeInterval)為 Double 類(lèi)型
時(shí)間戳轉(zhuǎn)日期
Swift
let date1 = Date.init(timeIntervalSince1970: ti)
OC
NSDate *date1 = [NSDate dateWithTimeIntervalSince1970:ti];
日期轉(zhuǎn)字符串
Swift
func dateToStr() {
let date = Date()
let df = DateFormatter.init()
df.amSymbol = "上午"
df.pmSymbol = "下午"
df.weekdaySymbols = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]
df.dateFormat = "yyyy年MM月dd日 EEEE aaa HH:mm"
let dateStr = df.string(from: date)
print("時(shí)間:",dateStr)
}
OC
-(void)dateToStr{
NSDate *date = [NSDate date];
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.AMSymbol = @"上午";
df.PMSymbol = @"下午";
df.weekdaySymbols = @[@"星期一",@"星期二",@"星期三",@"星期四",@"星期五",@"星期六",@"星期日"];
df.dateFormat = @"yyyy年MM月dd日 EEEE aaa HH:mm";
NSString *dateStr = [df stringFromDate:date];
NSLog(@"時(shí)間:%@",dateStr);
}
字符串轉(zhuǎn)日期
Swift
func strToDate() {
let str = "2020年09月10日 星期五 下午 15:19"
let df = DateFormatter.init()
df.amSymbol = "上午"
df.pmSymbol = "下午"
df.weekdaySymbols = ["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]
df.dateFormat = "yyyy年MM月dd日 EEEE aaa HH:mm"
let date = df.date(from: str)
print("日期:",date)
}
OC
-(void)strToDate{
NSString *dateStr = @"2020年09月10日 星期五 下午 15:24";
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.AMSymbol = @"上午";
df.PMSymbol = @"下午";
df.weekdaySymbols = @[@"星期一",@"星期二",@"星期三",@"星期四",@"星期五",@"星期六",@"星期日"];
df.dateFormat = @"yyyy年MM月dd日 EEEE aaa HH:mm";
NSDate *date = [df dateFromString:dateStr];//可能為空
NSLog(@"日期:%@",date);
}
劃重點(diǎn)
- DateFormatter用于日期與字符串的相互轉(zhuǎn)換。
- DateFormatter對(duì)象的
*Symbol
屬性可以用來(lái)設(shè)置我們顯示的日期的樣式攘蔽! - 上述例子中
AMSymbol
PMSymbol
weekdaySymbols
分別設(shè)置了上下午仙辟、星期的顯示方式喂江。 - DateFormatter還有很多
*Symbol
屬性,有興趣的朋友可以一一嘗試璧亮。
注:字符串轉(zhuǎn)日期得到的時(shí)間與實(shí)際時(shí)間并不符合!因?yàn)橛袀€(gè)重要的因素
時(shí)區(qū)
NSTimeZone
我們沒(méi)有考慮!在此不做深入研究??