时间戳的相互转化

#pragma mark -时间戳转时间

+ (NSString*)timeWithTimeIntervalString:(NSString*)timeString  andFormatter:(NSString*)format

{

    // 格式化时间

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

    formatter.timeZone = [NSTimeZone timeZoneWithName:@"beijing"];

    [formattersetDateStyle:NSDateFormatterMediumStyle];

    [formattersetTimeStyle:NSDateFormatterShortStyle];

    [formattersetDateFormat:format];

    NSDate* date ;

    // 毫秒值转化为秒 // *1000 是精确到毫秒,不乘就是精确到秒

    if(timeString.length>13)


    {

        date = [NSDate dateWithTimeIntervalSince1970:[timeString longLongValue]/ 1000.0]; //返回的是13位的时间戳的话,是精确到了毫秒,需要除以1000

    }

    else

    {

        date = [NSDate dateWithTimeIntervalSince1970:[timeString longLongValue]];

    }


    NSString* dateString = [formatterstringFromDate:date];

    returndateString;

}

#pragma mark - 将某个时间转化成 时间戳

+(NSString*)timeSwitchTimestamp:(NSString*)formatTime andFormatter:(NSString*)format

{    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

    [formattersetDateStyle:NSDateFormatterMediumStyle];


    [formattersetTimeStyle:NSDateFormatterShortStyle];


    [formattersetDateFormat:format];

    //(@"YYYY-MM-dd hh:mm:ss") ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制

    NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];

    [formattersetTimeZone:timeZone];

    NSDate* date = [formatter dateFromString:formatTime]; //------------将字符串按formatter转成nsdate    //时间转时间戳的方法:

    NSInteger timeSp = [[NSNumber numberWithDouble:[date timeIntervalSince1970]] integerValue];

    //NSLog(@"将某个时间转化成 时间戳&&&&&&&timeSp:%ld",(long)timeSp); //时间戳的值

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

    returnstr;


}

调用

[ExchangeTime timeWithTimeIntervalString:list.created_at andFormatter:@"YYYY-MM-dd hh:mm:ss"];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容