时间戳与日期的相互转换

关于时间戳和日期的相互转换在以往的项目中也用到了好多,现在总结以下几种常见的转化情况:

一、获取当前时间的时间戳
    NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0];
    NSTimeInterval a=[dat timeIntervalSince1970]; //把当前时间转化为时间戳
    NSString *timeString = [NSString stringWithFormat:@"%.0f", a];//把当前时间转为字符串

    NSLog(@"timeString:%@",timeString);

二、时间戳转化为字符串

+(NSString *)dateChangeWithLong:(long long)date format:(NSString *)format

{

    NSDate *d = [NSDate dateWithTimeIntervalSince1970:date/1000];

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

    dateFormatter.dateFormat = format;

    return [dateFormatter stringFromDate:d];

}

ps: format控制格式 ,例如format = @"YY/MM/dd hh:mm:ss SS";
时间戳为long long型,时间戳除以1000代表精确到秒,不除以1000精确到微秒


三、根据long long类型时间戳转换为日期格式
//根据时间戳获取星期几
+ (NSString *)getWeekDayFordate:(long long)data
{
    NSArray *weekday = [NSArray arrayWithObjects: [NSNull null], @"周日", @"周一", @"周二", @"周三", @"周四", @"周五", @"周六", nil];

    NSDate *newDate = [NSDate dateWithTimeIntervalSince1970:data/1000.0];//此处不除以1000是精确到微妙和毫秒
    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSDateComponents *components = [calendar components:NSWeekdayCalendarUnit fromDate:newDate];
    NSString *weekStr = [weekday objectAtIndex:components.weekday];
    return weekStr;
}


四、根据long long类型时间戳转换为年月日
+ (NSString *)getDateAccordingTime:(long long )aTime formatStyle:(NSString *)formate{

    NSDate *nowDate = [NSDate dateWithTimeIntervalSince1970:aTime/1000.0];
    NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:formate];
    return[formatter stringFromDate:nowDate];
}


PS:  format格式对应的意义

YYYY(年)/MM(月)/dd(日) hh(时):mm(分):ss(秒) SS(毫秒)
需要用哪个的话就把哪个格式加上去。
值得注意的是,如果想显示两位数的年份的话,可以用”YY/MM/dd hh:mm:ss SS”,两个Y代表两位数的年份。
而且大写的M和小写的m代表的意思也不一样。“M”代表月份,“m”代码分钟
“HH”代表24小时制,“hh”代表12小时制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值