• 真机显示时间与获取的时间相差8小时解决方案


    之前有讲过ios系统的时间显示不支持‘-’所以转换成‘/’但是不知道是不是系统不兼容的问题,只要时间做了格式转换就会出现相差8小时的问题,如果只是把‘-’换成‘/’就没有这种问题,这里有两种解决方案

    一:后端统一处理时间格式,这里有个前提就是前端都需要这种格式的时间

    在startup.cs中进行配置:

    services.AddMvc(options =>
    {
    //默认启用CSRF跨站请求伪造攻击保护机制
    options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute());
    }).AddJsonOptions(options =>
    {
    //不使用驼峰样式的key
    //options.SerializerSettings.ContractResolver = new DefaultContractResolver();
    //设置时间格式
    options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
    //使用本地时间
    options.SerializerSettings.DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Local;
    });

     

    二:前端进行字符串截取得到想要的格式

    这里有个建议就是最好后端能统一返回时间戳给前端,这样会出错率会比较低

    时间戳转换:

    // 格式化时间 

    function formatTime(timeStamp) { 

        // 将/[0-9]/位的数字编成/0[0-9]/ 

        function getTwo(s) { 

            if (parseInt(s) < 10) { 

                return "0" + s; 

            } else { 

                return "" + s; 

            } 

        } 

     

        if (timeStamp.length < 13) { 

            timeStamp += "000"; 

        } 

        var d = new Date(parseInt(timeStamp)); 

     

        var year = d.getFullYear(); 

        var month = getTwo(d.getMonth() + 1); 

        var date = getTwo(d.getDate()); 

        var hour = getTwo(d.getHours()); 

        var minute = getTwo(d.getMinutes()); 

        var second = getTwo(d.getSeconds()); 

     

        return year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second; 

    }

    时间戳在线转化: https://tool.lu/timestamp/

    最后推荐一个好用的网站: https://tool.lu/

  • 相关阅读:
    shared_ptr weak_ptr boost 内存管理
    _vimrc win7 gvim
    qt 拖放
    数学小魔术 斐波那契数列
    qt4 程序 移植到 qt5
    (转)字符串匹配算法总结
    c++11
    BM 字符串匹配
    编译qt5 demo
    c++ 类库 学习资源
  • 原文地址:https://www.cnblogs.com/cyqdeshenluo/p/12166847.html
Copyright © 2020-2023  润新知