JS时间格式 GMT格式转换

JavaScript时间格式转换总结 
1.当前系统区域设置格式(toLocaleDateString和toLocaleTimeString) 
例子:(new Date()).toLocaleDateString() + " " + (new Date()).toLocaleTimeString()
结果: 2008年1月29日 16:13:11
2.普通字符串(toDateString和toTimeString) 
例子: (new Date()).toDateString() + " " + (new Date()).toTimeString()
结果:Tue Jan 29 2008 16:13:11 UTC+0800
3.格林威治标准时间(toGMTString) 
例子: (new Date()).toGMTString()
结果:Tue, 29 Jan 2008 08:13:11 UTC
4.全球标准时间(toUTCString) 
例子: (new Date()).toUTCString()
结果:Tue, 29 Jan 2008 08:13:11 UTC
5.Date对象字符串(toString) 
例子: (new Date()).toString()
结果:Tue Jan 29 16:13:11 UTC+0800 2008 
var today = new Date();
document.write(today); //在IE中:Sun Mar 9 09:42:27 UTC+0800 2008;在FireFox中:Sun Mar 09 2008 09:42:27 GMT+0800
var sentence = today.toString();
document.write(sentence );//在IE中:Sun Mar 9 09:44:42 UTC+0800 2008;在FireFox中:Sun Mar 09 2008 09:44:42 GMT+0800
var gmt = today.toGMTString();
document.write(gmt );//在IE中Sun, 9 Mar 2008 01:46:38 UTC;在FireFox中:Sun, 09 Mar 2008 01:46:38 GMT
var utc = today.toUTCString();
document.write(utc );//在IE中Sun, 9 Mar 2008 01:46:38 UTC;在FireFox中:Sun, 09 Mar 2008 01:46:38GMT
var local = today.toLocaleString();
document.write(local );//在IE中2008年3月9日 9:48:26;在FireFox中:2008年3月9日 9:48:26
getFullYear:获得一个4位数字的整数;
getMonth:获得一个在0-11之间的整数;
getDate:获得一个1-31之间的整数;
getDay:获得一个0-6之间的整数,0代表星期天;
getHours:获得一个0-23之间的整数;
getMinutes:获得一个0-59之间的整数;
getSeconds:获得一个0-59之间的整数;
getTime :获得从utc纪元开始的毫秒数;
getTimezoneOffset:获得本地时间和GMT时间之间的差异,以分钟数表示;一般是 :-480(相差8个小时)
*******************************************************************************
JS/formatDate.js  //实现GMT转换成.当前系统区域设置格式
function DateUtil(){}  
/**  
*功能:格式化时间  
*示例:DateUtil.Format("yyyy/MM/dd","Thu Nov 9 20:30:37 UTC+0800 2006 ");  
*返回:2006/11/09  
*/  
DateUtil.Format=function(fmtCode,date){  
var result,d,arr_d;

var patrn_now_1=/^y{4}-M{2}-d{2}\sh{2}:m{2}:s{2}$/;  
var patrn_now_11=/^y{4}-M{1,2}-d{1,2}\sh{1,2}:m{1,2}:s{1,2}$/;

var patrn_now_2=/^y{4}\/M{2}\/d{2}\sh{2}:m{2}:s{2}$/;  
var patrn_now_22=/^y{4}\/M{1,2}\/d{1,2}\sh{1,2}:m{1,2}:s{1,2}$/;

var patrn_now_3=/^y{4}年M{2}月d{2}日\sh{2}时m{2}分s{2}秒$/;  
var patrn_now_33=/^y{4}年M{1,2}月d{1,2}日\sh{1,2}时m{1,2}分s{1,2}秒$/;

var patrn_date_1=/^y{4}-M{2}-d{2}$/;  
var patrn_date_11=/^y{4}-M{1,2}-d{1,2}$/;

var patrn_date_2=/^y{4}\/M{2}\/d{2}$/;  
var patrn_date_22=/^y{4}\/M{1,2}\/d{1,2}$/;

var patrn_date_3=/^y{4}年M{2}月d{2}日$/;  
var patrn_date_33=/^y{4}年M{1,2}月d{1,2}日$/;

var patrn_time_1=/^h{2}:m{2}:s{2}$/;  
var patrn_time_11=/^h{1,2}:m{1,2}:s{1,2}$/;  
var patrn_time_2=/^h{2}时m{2}分s{2}秒$/;  
var patrn_time_22=/^h{1,2}时m{1,2}分s{1,2}秒$/;

if(!fmtCode){fmtCode="yyyy/MM/dd hh:mm:ss";}  
if(date){  
d=new Date(date);  
if(isNaN(d)){  
msgBox("时间参数非法\n正确的时间示例:\nThu Nov 9 20:30:37 UTC+0800 2006\n或\n2006/      10/17");  
return;}  
}else{  
d=new Date();  
}

if(patrn_now_1.test(fmtCode))  
{  
arr_d=splitDate(d,true);  
result=arr_d.yyyy+"-"+arr_d.MM+"-"+arr_d.dd+" "+arr_d.hh+":"+arr_d.mm+":"+arr_d.ss;  
}  
else if(patrn_now_11.test(fmtCode))  
{  
arr_d=splitDate(d);  
result=arr_d.yyyy+"-"+arr_d.MM+"-"+arr_d.dd+" "+arr_d.hh+":"+arr_d.mm+":"+arr_d.ss;  
}  
else if(patrn_now_2.test(fmtCode))  
{  
arr_d=splitDate(d,true);  
result=arr_d.yyyy+"/"+arr_d.MM+"/"+arr_d.dd+" "+arr_d.hh+":"+arr_d.mm+":"+arr_d.ss;  
}  
else if(patrn_now_22.test(fmtCode))  
{  
arr_d=splitDate(d);  
result=arr_d.yyyy+"/"+arr_d.MM+"/"+arr_d.dd+" "+arr_d.hh+":"+arr_d.mm+":"+arr_d.ss;  
}  
else if(patrn_now_3.test(fmtCode))  
{  
arr_d=splitDate(d,true);  
result=arr_d.yyyy+"年"+arr_d.MM+"月"+arr_d.dd+"日"+" "+arr_d.hh+"时"+arr_d.mm+"分"+arr_d.ss+"秒";  
}  
else if(patrn_now_33.test(fmtCode))  
{  
arr_d=splitDate(d);  
result=arr_d.yyyy+"年"+arr_d.MM+"月"+arr_d.dd+"日"+" "+arr_d.hh+"时"+arr_d.mm+"分"+arr_d.ss+"秒";  
}

else if(patrn_date_1.test(fmtCode))  
{  
arr_d=splitDate(d,true);  
result=arr_d.yyyy+"-"+arr_d.MM+"-"+arr_d.dd;  
}  
else if(patrn_date_11.test(fmtCode))  
{  
arr_d=splitDate(d);  
result=arr_d.yyyy+"-"+arr_d.MM+"-"+arr_d.dd;  
}  
else if(patrn_date_2.test(fmtCode))  
{  
arr_d=splitDate(d,true);  
result=arr_d.yyyy+"/"+arr_d.MM+"/"+arr_d.dd;  
}  
else if(patrn_date_22.test(fmtCode))  
{  
arr_d=splitDate(d);  
result=arr_d.yyyy+"/"+arr_d.MM+"/"+arr_d.dd;  
}  
else if(patrn_date_3.test(fmtCode))  
{  
arr_d=splitDate(d,true);  
result=arr_d.yyyy+"年"+arr_d.MM+"月"+arr_d.dd+"日";  
}  
else if(patrn_date_33.test(fmtCode))  
{  
arr_d=splitDate(d);  
result=arr_d.yyyy+"年"+arr_d.MM+"月"+arr_d.dd+"日";  
}  
else if(patrn_time_1.test(fmtCode)){  
arr_d=splitDate(d,true);  
result=arr_d.hh+":"+arr_d.mm+":"+arr_d.ss;  
}  
else if(patrn_time_11.test(fmtCode)){  
arr_d=splitDate(d);  
result=arr_d.hh+":"+arr_d.mm+":"+arr_d.ss;  
}  
else if(patrn_time_2.test(fmtCode)){  
arr_d=splitDate(d,true);  
result=arr_d.hh+"时"+arr_d.mm+"分"+arr_d.ss+"秒";  
}  
else if(patrn_time_22.test(fmtCode)){  
arr_d=splitDate(d);  
result=arr_d.hh+"时"+arr_d.mm+"分"+arr_d.ss+"秒";  
}  
else{  
msgBox("没有匹配的时间格式!");  
return;  
}

return result;  
};  
function splitDate(d,isZero){  
var yyyy,MM,dd,hh,mm,ss;  
if(isZero){  
yyyy=d.getYear();  
MM=(d.getMonth()+1)<10?"0"+(d.getMonth()+1):d.getMonth()+1;  
dd=d.getDate()<10?"0"+d.getDate():d.getDate();  
hh=d.getHours()<10?"0"+d.getHours():d.getHours();  
mm=d.getMinutes()<10?"0"+d.getMinutes():d.getMinutes();  
ss=d.getSeconds()<10?"0"+d.getSeconds():d.getSeconds();  
}else{  
yyyy=d.getYear();  
MM=d.getMonth()+1;  
dd=d.getDate();  
hh=d.getHours();  
mm=d.getMinutes();  
ss=d.getSeconds();    
}  
return {"yyyy":yyyy,"MM":MM,"dd":dd,"hh":hh,"mm":mm,"ss":ss};    
}  
function msgBox(msg){  
window.alert(msg);  
}

调用方法:
DateUtil.Format("yyyy/MM/dd","Thu Nov 9 20:30:37 UTC+0800 2006 ")
DateUtil.Format("yyyy-MM-dd hh:mm:ss","Thu Nov 9 20:30:37 UTC+0800 2006 ")

时间: 2024-10-11 08:25:56

JS时间格式 GMT格式转换的相关文章

js 时间与时间戳的转换

一:时间转时间戳:javascript获得时间戳的方法有四种,都是通过实例化时间对象 new Date() 来进一步获取当前的时间戳 1.var timestamp1 = Date.parse(new Date()); // 结果:1477808630000 不推荐这种办法,毫秒级别的数值被转化为000 console.log(timestamp1); 2.var timestamp2 = (new Date()).valueOf(); // 结果:1477808630404 通过valueOf

js 时间类型/Date(1411401600)转换成 (yyyy-MM-dd)类型

js前端中使用 function data_string(str) { var d = eval('new ' + str.substr(1, str.length - 2)); var ar_date = [d.getFullYear(), d.getMonth() + 1, d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds()]; for (var i = 0; i < ar_date.length; i++) ar_date[i

js里Date时间格式的常用转换-------(GMT转成yyyy-MM-dd)--------(根据日期获得星期几)

const DateParse = { /** * 将GMT格式的时间转为数据库兼容的Date格式 * gmt => GMT格式的时间 * long => 是否长时间(包含时分秒), 可不填(默认值:true), 选填:false * Wed Dec 01 2018 00:00:00 GMT+0800 (中国标准时间) => 2018-12-01 00:00:00 或 2018-12-01 */ formatGMT: ( gmt, long ) => { long = false

js 时间格式转换

js时间格式转换 格式化时间转成时间戳 //格式化转时间戳(单位秒) function strtotime(strtime) { strtime = strtime.substring(0, 19); strtime = strtime.replace(/-/g, '/'); strtime = new Date(strtime).getTime() / 1000; return strtime; } 时间戳转格式化时间 //时间戳(单位秒)转格式化 function getMyDate(str

格林威治时间格式(GMT)与普通时间格式的互相转换

GMT --> 普通时间格式: 方法: function GMTToStr(time){ var date = new Date(time) var Str=date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds() return Str } 调用: var to

iOS dateformatter设置GMT格式时间--iOS开发系列---项目中成长的知识四

今天在项目中开始接手客户端的签名这个模块,签名这个会在项目结束过后再单独写一下自己的心得! 今天讲讲在签名的过程中我们需要向服务器传送一个Date值,格式要求是格林威治时间,也就是GMT时间! 格式要求是 22 Oct 2015 10:20:35 GMT 而我通过[NSDate Date]获取到的格式是2015-10-22 10:20:35 所以就上网搜寻答案 说的是通过[NSDate Date]这个获取到的时间就是GMT地区的,所以我就觉得是转格式的地方出问题了 但是经过一番尝试后,无论是转格

Oracle修改时间报:ORA-01830: 日期格式图片在转换整个输入字符串之前结束的解决办法

1.错误原因: date类型不能包含秒以后的精度. 如日期:2010-01-01 20:02:20.0 解决方法:将日期秒以后的精度去除, to_date(substr(INVOICE_DATE,1,10),'yyyy-mm-dd')如日期:2010-01-01 20:02:20 2.INSERT INTO TEST2 (C1, C2,c3) VALUES (${v1},${v2},to_date(${v3},'yyyy-mm-dd'));oracle里面不需要以“:”结尾. 3.修改数据库日期

node js moment 修改时间格式 日期格式与int格式互相转化

node js moment 修改时间格式 日期格式与int格式互相转化 nvm use 8.3 > moment = require('moment') > days = '2019-07-01' '2019-07-01' > moment().subtract(days, 'days').unix() 1563356732 > let time = moment.valueOf(1563356732) 原文地址:https://www.cnblogs.com/wangjiale

Python/Shell/MySQL时间获取与格式转换

一.说明 时间的获取及时间各格式间的转换是比较常用的操作,但一是多种语言经常容易弄混,二是同一种语言同一个功能可能有不同的实现函数,导致每次处理时间经常要百度所以来记录一下. 另外个人真不喜欢同样功能有多种写法的形式,从理想角度说多种实现方式让不同的人都能以其喜欢的方式进行编写:但实际上当你忘记的时候,你就总要怀疑是不是这么写.可不可以这么写.到底怎么写,然后到网上看又是五花八门的写法,这是个很耗费精力的事情.这也是我不喜欢Ruby的原因. 二.Python时间操作 2.1 获取时间对象 imp