JS 时间格式CST转GMT
近几天,在做百度地图时,需要转换时间格式并做显示,但是发现显示的时间格式,出现了错乱,二者的日期和小时都出现了变动。例如:
原始时间格式:Thu Aug 18 20:38:54 CST 2016
转换时间格式:2016-08-19 10:38
使用的代码如下:
//Thu Aug 18 20:38:54 CST 2016
function getTaskTime(strDate) {
console.log("原始时间格式:"+strDate);
var date = new Date(strDate);
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? ('0' + m) : m;
var d = date.getDate();
d = d < 10 ? ('0' + d) : d;
var h = date.getHours();
var minute = date.getMinutes();
minute = minute < 10 ? ('0' + minute) : minute;
var str = y+"-"+m+"-"+d+" "+h+":"+minute;
console.log("转换时间格式:"+str);
return str;
};
查阅后发现,JS使用的是GMT的时间格式,而在在服务器端 获取当前时间为CST的格式,在使用new Date(strDate)转换时,转换为GMT格式,出现了如上所述的错误:
原始时间格式:Thu Aug 18 20:38:54 CST 2016
GMT时间格式:Fri Aug 19 2016 10:38:54 GMT+0800 (中国标准时间)
转换时间格式:2016-08-19 10:38
解决方法是:
(参考文献:http://blog.csdn.net/frankcheng5143/article/details/51802518)
对CST格式的时间字符串进行分段截取,重新拼接为GMT格式,然后显示
//Thu Aug 18 20:38:54 CST 2016,时间格式转换
//输出格式:yyyy-MM-dd HH:mm:ss
Thu Aug 18 2016 20:38:54 GMT+0800
function getTaskTime(strDate) {
if(null==strDate || ""==strDate){
return "";
}
var dateStr=strDate.trim().split(" ");
var strGMT = dateStr[0]+" "+dateStr[1]+" "+dateStr[2]+" "+dateStr[5]+" "+dateStr[3]+" GMT+0800";
var date = new Date(Date.parse(strGMT));
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? ('0' + m) : m;
var d = date.getDate();
d = d < 10 ? ('0' + d) : d;
var h = date.getHours();
var minute = date.getMinutes();
minute = minute < 10 ? ('0' + minute) : minute;
var second = date.getSeconds();
second = second < 10 ? ('0' + second) : second; return y+"-"+m+"-"+d+" "+h+":"+minute+":"+second;
};
显示结果:
原始时间格式:Thu Aug 18 20:38:54 CST 2016
GMT时间格式:Thu Aug 18 2016 20:38:54 GMT+0800 (中国标准时间)
转换时间格式:2016-08-18 20:38:54
JS 时间格式CST转GMT的更多相关文章
- JS时间格式CST转GMT
转换方法:JS 时间格式CST转GMT 时区和Date:Java中的Date和时区转换
- moment.js 时间格式转换
moment.js 时间格式转换 moment.js 时间转化 bug 格式错误 bug 02:00 => 14:00 format HH 与 hh HH === 24 小时制 hh === 1 ...
- js 时间格式转换
js时间格式转换 格式化时间转成时间戳 //格式化转时间戳(单位秒) function strtotime(strtime) { strtime = strtime.substring(0, 19); ...
- JS时间格式 GMT格式转换
JavaScript时间格式转换总结 1.当前系统区域设置格式(toLocaleDateString和toLocaleTimeString) 例子:(new Date()).toLocaleDateS ...
- JS时间格式和时间戳的相互转换
时间戳转化为日期的方式 ; var newDate = new Date(); newDate.setTime(timestamp * ); // Mon May 28 2018 console.lo ...
- JS时间格式和时间戳的互转
//时间格式转为时间戳 function sjc(){ var date = new Date(); //时间对象 var str = date.getTime(); //转换成时间戳 } //时间戳 ...
- Java转换Json日期/Date(1487053489965+0800)/格式以及js时间格式 Tue Feb 14 2017 14:06:32 GMT+0800
/Date(1487053489965+0800)/用Java怎么转换成yyyy-MM-dd的格式 Tue Feb 14 2017 14:06:32 GMT+0800用Java怎么转换成yyyy-MM ...
- js时间格式转换
在javascript中直接输出Date得到的结果是这样的: function date(){ var date = new Date(); alert(date); } 结果是:Mon Jun 15 ...
- js ---- 时间格式
Js获取当前日期时间及其它操作 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); ...
随机推荐
- PID204 / 特种部队
/* 双向DP 两条路 f[i][j] 表示第一条路末位置为i 第二条路末位置为j 的最优解 转移:对于下一个点 k=max(i,j)+1 可以更新 路1的末位置 也可以更新路2的末位置 f[i][k ...
- codevs 1047 邮票面值设计
/* 开始没啥好的思路 暴力吧 T的太严重 加了k>n的特判 结果没数据…..然后又暴力生成了几组答案 打表 然而有没有数据 华丽的爆零了 正解 回溯+DP 回溯生成k数组 然后DP找最优解更新 ...
- 黑马程序员-for和foreach
class Program { static void Main(string[] args) { Console.WriteLine("***第一种情况****************** ...
- weka打开提示内存不足的解决方法
今天在linux中打开Weka时,打开基因数据文件的时候出现如 Not enough memory . Please load a smaller dataset or use a larger he ...
- PHP Countable接口
实现该接口可以使用count()方法来获取集合的总数
- InstallShield Basic MSI工程常见问题解答[转]
1. 问题描述:采用何种安装模式?实现方法:如果对用户界面等自定义要求不高的话,建议用Basic Msi Project,否则用InstallScript MSI Project. 2. 问题描述 ...
- Echop后台分页实现原理详解
ecshop后台开发,工作中分页中遇到的问题 1.通过筛选条件筛选出数据后,点击下一页返回没有筛选(所有数据)的第二页数据 效果 结果 点击分页后效果 问题:ecshop分页利用ajax实现,在点击下 ...
- Objective-C释解 Target-Action模式
Objective-C释解 Target-Action模式 Target-Action模式是ObjC里非常常见的对象之间方法调用的方式,不过ObjC把方法调用叫做Send Message. 一帮情 ...
- log4j.propertise配置文件
# level : 是日志记录的优先级,分为OFF.FATAL.ERROR.WARN.INFO.DEBUG.ALL或者您定义的级别.Log4j建议只使用四个级别,优先级从高到低分别是ERROR.WAR ...
- 【技术贴】xp下改变7zip默认关联图标和美化教程
今天发现7z被还原成了复古样式,就是那种win2000的图标,感觉果然是技术人员做的美工. 于是开始想办法替换掉,自己找到了一个最简单的办法 首先,默认用7z打开 1.随便找到一个7z后缀,然后右键, ...