zoukankan      html  css  js  c++  java
  • 真机显示时间与获取的时间相差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/

  • 相关阅读:
    初试 spring web mvc
    读取网络数据缓存在本地 流程图
    servlet 过滤器实现 请求转发(跳转);跨域转发请求;tomcat 环境下。
    C# .net基于Http实现web server(web服务)
    微信公众平台开发
    Linux目录结构及作用
    MySQL事件调度器event的使用
    MySQL触发器trigger的使用
    存储过程的查、改、删
    MySQL游标的简单实践
  • 原文地址:https://www.cnblogs.com/cyqdeshenluo/p/12166847.html
Copyright © 2011-2022 走看看