• iOS/Date(1473255005000)/日期转换


    在json序列化时,Date类型数据可能会序列化成“@"YYYY-MM-dd HH:mm:ss"

    ”这类的一个字符串。

    有时候需要客户端方面自己转化日期格式,一起来看看吧。

    一、含义

    /Date(1473255005000)/,字符串括号中的一长串数字,其实就是从1970到这个Date日期的毫秒数(具体开始时间问服务器^-^,有时间并不是从1970开始的)

    然后就不用多说了吧,截取字符串呀!!!由于都是“/Date(”开头的所以用NSRang很容易截取。

    二、转化日期

    获取到一长串数字以后,确定出我们需要的NSDateFormat的事件类型:例:“@"YYYY-MM-dd HH:mm:ss",给方法

    参数:messageDate就是NSTimeInterval格式的一个时间间隔。
    参数:dateFormat就是需要的“@"YYYY-MM-dd HH:mm:ss"字符串
    #pragma mark - 时间转换
    - (NSString *)dateWithString:(NSTimeInterval)messageDate dateFormat:(NSString *)dateFormat
    {
        
        if (messageDate == 0) {
            return nil;
        }
        
        if (!dateFormat) {
            dateFormat = @"YYYY-MM-dd HH:mm:ss";
        }
        //    NSLog(@"%f",[[NSDate date] timeIntervalSince1970]);
        NSDate *date = [NSDate dateWithTimeIntervalSince1970:messageDate/1000];
        
        //创建NSDateFormatter对象
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        //设置NSDateFormatter格式类型 @"YYYY-MM-dd HH:mm:ss"
        [dateFormatter setDateFormat:dateFormat];
        NSString *dateStr = nil;
        dateStr = [dateFormatter stringFromDate:date];
        return dateStr;
    }

    返回值就是我们需要日期格式的字符串了。

    三、其他类似转换方法

    当然还有很多类似转换方法:

    //-(NSString*)shijian:(NSTimeInterval)secs{
    //    NSDate *date=[NSDate dateWithTimeIntervalSince1970:secs];
    //    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    //    [dateFormatter setDateFormat:@"YYYY/MM/dd HH:mm:ss"];
    //    NSString *timeStr = [dateFormatter stringFromDate:date];
    //    return timeStr;
    //}
    //// 把时间戳转换成日期字符串
    //CG_INLINE NSString*
    //dateTimeString(NSInteger nTimestamp)
    //{
    //    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    //    [formatter setDateStyle:NSDateFormatterMediumStyle];
    //    [formatter setTimeStyle:NSDateFormatterShortStyle];
    //    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    //    NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:nTimestamp];
    //    NSString *confromTimespStr = [formatter stringFromDate:confromTimesp];
    //    
    //    return confromTimespStr;
    //}

    根据个人情况可以选择不同方法。

  • 相关阅读:
    帧框架总结
    Java中Excel表格的上传与下载
    一种解决eclipse中安装maven出错的方法
    Eclipse中如何忽略报错的js文件
    如何解决jQuery easyui中locale文件下easyui-lang-zh_CN中文乱码问题
    java面试题
    登录功能(MD5加密)
    CSS基础
    java框架之spring
    基于Docker搭建Maven私服环境
  • 原文地址:https://www.cnblogs.com/yeschenbaby/p/5864320.html
Copyright © 2020-2023  润新知