最近开发过程中,后端传过来一个“2018-03-15T17:53:19.6307928”字符串,需要将字符串转换成“2018-03-15  17:53”的格式展示出来。首先我使用了var time=new Date("2018-03-15T17:53:19.6307928")方法将时间转换成标准时间格式,再通过time.getFullYear()等方法获取到年月日时分的信息,最后通过字符串拼接成为想要的格式。

  OK,这个方法最开始一直没有问题,在PC浏览器上打开,一切正常,但是后来在移动端打开时,发现转换后的字符串,时间比正确时间快了8小时,后来多次测试发现,应该是不同终端不同浏览器对于该时间格式的解析有区别,在windowsPC浏览器中,我们修改了电脑的时区设置,new Date(str)返回的时间信息如下

  

new Date('2018-03-15T17:53:19.6307928')
Thu Mar 15 2018 17:53:19 GMT+0800 (中国标准时间)
new Date('2018-03-15T17:53:19.6307928')
Thu Mar 15 2018 17:53:19 GMT+0900 (Japan Standard Time)

  PC端不会修改你的时间,只是将其转换成本地时间的格式,然而在移动端,其返回的则是

new Date('2018-03-15T17:53:19.6307928')
Thu Mar 16 2018 01:53:19 GMT+0800 (CST)

  也就是移动端默认传入的时间是0时区的时间,在将其转换为本地时间格式时加了八小时上去,这样的话就出现了移动端和PC端显示时间不同的问题,因此在这里不建议后端传“2018-03-15T17:53:19.6307928”这种时间格式的字符串,而是在后端直接做时间转换,传过来“2018-03-15  17:53”格式的字符串直接进行展示。

new Date(str)返回的时间结果在移动端比PC端快了8小时的更多相关文章

  1. new Date(str)返回 Invalid date问题

    var date=new Date($("input[name='mettingTime']").val().replace(/-/g, "/")); var ...

  2. uni-app 时间格式问题 new Date(str) IOS系统跟Android系统不兼容

    今天做了一个需求,要在列表中把后台返回来的时间给显示出来,使用 new Date(str)  在微信开发者工具上显示是没有问题的,然后在IOS系统上显示是NAN. 原因是 IOS系统只识别 " ...

  3. java parse 带英文单词的日期字符串 转 date (转化新浪微博api返回的时间)

    拂晓风起 专注前端技术cocos2d.js.flash.html5,联系:kenkofox@qq.com.如果读者要找腾讯工作机会,请不吝推荐简历. 博客园 首页 新闻 新随笔 联系 管理 订阅 随笔 ...

  4. mysql中返回当前时间的函数或者常量

    引用:http://blog.sina.com.cn/s/blog_6d39dc6f0100m7eo.html 1.1 获得当前日期+时间(date + time)函数:now() 除了 now() ...

  5. PHP date 格式化一个本地时间/日期

    PHP date 格式化一个本地时间/日期 date (PHP 4, PHP 5) date — 格式化一个本地时间/日期 说明 string date ( string $format [, int ...

  6. ExtJs计算两个DateField所间隔的月份(天数) new Date(str) IE游览器提示NaN 处理

    需求:两个DateField控件,分别为开始时间和结束时间.当选择完结束时间后,自动计算这两个时间段所间隔的月或天数. 需要解决的问题: 1.直接使用Ext.getCmp('endDate').get ...

  7. php 中时间函数date及常用的时间计算

    曾在项目中需要使用到今天,昨天,本周,本月,本季度,今年,上周上月,上季度等等时间戳,趁最近时间比较充足,因此计划对php的相关时间知识点进行总结学习 1,阅读php手册date函数 常用时间函数: ...

  8. js根据服务端返回的时间倒计时

    使用服务端与本地的时间差进行计算 $(function(){ // 倒计时 var _ordertimer = null; var data =new Date(); var txt = $('.js ...

  9. javascript Date对象 之 获取时间

    javascript Date对象 --> 获取时间: 测试代码: <!DOCTYPE html> <html lang="en"> <head ...

随机推荐

  1. 36、EST-SSR标记开发

    转载:http://fhqdddddd.blog.163.com/blog/static/1869915420124131096557/ MISA工具提供批量识别和定位简单重复序列(SSR),EST序 ...

  2. 9、linux的特殊符

    在shell中常用的特殊符号罗列如下: #   ;   ;;      .      ,       /       \       'string'|       !   $   ${}   $?  ...

  3. JSP有哪些动作?

    JSP使用动作来动态的插入文件,实现重定向和对JavaBean的引用等功能.它公有6个基本动作:jsp:include,jsp:useBean,jsp:setProperty,jsp:getPrope ...

  4. ES Docs-3:Modifying Data

    Modifying Data Indexing/Replacing Documents curl -XPUT 'localhost:9200/customer/external/1?pretty' - ...

  5. 如何利用OpenSSL生成证书

    此文已由作者赵斌授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.前言 最近为了测试内容分发网络(Content Delivery Network,简称 CDN)添加的新功 ...

  6. Linux查看系统位数

    查看linux是多少位的几位方法   方法/步骤     方法一:getconf LONG_BIT 在linux终端输入getconf LONG_BIT命令 如果是32位机器,则结果为32 Linux ...

  7. 2017-10-5 清北刷题冲刺班a.m

    行列式 序列 #include<iostream> #include<cstdio> #define maxn 500010 using namespace std; int ...

  8. this android sdk requires android developer toolkit version

    this android sdk requires android developer toolkit version 10.0.0 or above. current version is 8.0. ...

  9. windows cmd命令 mkdir生成多个文件bug问题

    [问题现象] 有这样一个bat脚本,目的是为了根据时间创建文件夹 执行后却发现生产的文件夹有两个,名字被分开了,很是纳闷,一度以为自己哪里写错了 [问题原因] 经过查阅资料,一点一点的定位.发现是因为 ...

  10. MySQL常用配置和性能压力测试:MySQL系列之十五

    一.MySQL常用配置 以下所有配置参数以32G内存的服务器为基 1.打开独立的表空间 innodb_file_per_table = 1 2.MySQL服务所允许的同时会话数的上限,默认为151,经 ...