【iOS】常见NSDate与时间戳转换
//时间戳转时间年⽉⽇
+ (NSString *)timeStringWithTimeInterval:(NSInteger)timeInterval {
NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeInterval]; //此处根据项⽬需求,选择是否除以1000 , 如果时间戳精确到秒则去掉1000 NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
// NSDate *currentDate = [NSDate date];//获取当前时间,⽇
// NSDate *pastHalfHour = [currentDate dateByAddingTimeInterval:-3600]; // 半⼩时前是-1800 1⼩时后是3600 1⼩时前是-3600
//
string转date的方法// NSInteger timeSp = [[NSNumber numberWithDouble:[pastHalfHour timeIntervalSince1970]] integerValue];
// if (timeInterval < timeSp) {
//
// }
formatter.dateFormat = @"YYYY-MM-dd HH:mm:ss";
return [formatter stringFromDate:date];
//今天
// if ([date isToday]) {
//
// formatter.dateFormat = @"HH:mm";
//
// return [formatter stringFromDate:date];
// }else{
/
/
// NSLog(@"%@", [formatter stringFromDate:date]);
// //昨天
// if ([date isYesterday]) {
//
// formatter.dateFormat = @"昨天 HH:mm";
// return [formatter stringFromDate:date];
//
// //⼀周内 [date weekdayStringFromDate]
// }else if ([date isSameWeek]){
//
/
/ formatter.dateFormat = [NSString stringWithFormat:@"%@ %@",[date weekdayStringFromDate],@"HH:mm"];
// return [formatter stringFromDate:date];
//
// //直接显⽰年⽉⽇
// }else{
//
// formatter.dateFormat = @"yy-MM-dd HH:mm";
// return [formatter stringFromDate:date];
// }
// }
// return nil;
}
//时间戳转时间年⽉⽇
+ (NSString *)timeWithTimestamp:(NSInteger )timestamp format:(NSString *)format {
NSDate *date = [NSDate dateWithTimeIntervalSince1970:timestamp]; //此处根据项⽬需求,选择是否除以1000 , 如果时间戳精确到秒则去掉1000 NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = format;
return [formatter stringFromDate:date];
}
+(NSInteger)timeSwitchTimestamp:(NSString *)formatTime andFormatter:(NSString *)format{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:format]; //(@"YYYY-MM-dd hh:mm:ss") ----------设置你想要的格式,hh与HH的区别:分别表⽰12⼩时制,24⼩时制
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setTimeZone:timeZone];
NSDate* date = [formatter dateFromString:formatTime]; //------------将字符串按formatter转成nsdate
//时间转时间戳的⽅法:
NSInteger timeSp = [[NSNumber numberWithDouble:[date timeIntervalSince1970]] integerValue];
return timeSp;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论