JS时间格式 GMT格式转换

JS时间格式 GMT格式转换

摘自:http://hi.baidu.com/omys/blog/item/0901e76261e8d0cde6113ad5.html

 

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 ")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用JavaScript中的Date对象来将时间戳转换为日期格式。具体的代码如下: ```javascript function timestampToDate(timestamp) { var date = new Date(timestamp); var year = date.getFullYear(); var month = ("0" + (date.getMonth() + 1)).slice(-2); var day = ("0" + date.getDate()).slice(-2); return year + "-" + month + "-" + day; } ``` 其中,timestamp为时间戳,返回值为格式为yyyy-mm-dd的日期字符串。 ### 回答2: JavaScript中可以通过Date对象来获取当前的时间戳和将时间戳转换为指定的日期格式。时间戳(timestamp)是表示时间的一个数字,通常是从1970年1月1日00:00:00(GMT)起到现在的毫秒数。以下是将时间戳转换为日期格式yyyy-mm-dd的代码: ```javascript // 创建Date对象并将时间戳传入,获取到Date对象 var timeStamp = 1572566400000; // 2019-11-01 00:00:00 var date = new Date(timeStamp); // 获取年月日信息 var year = date.getFullYear(); // 年份 var month = date.getMonth() + 1; // 月份(注意要加1,因为0表示一月) var day = date.getDate(); // 日份 // 将月份和日份的数字转换为字符串,并在不够两位数的前面补0 month = month < 10 ? "0" + month : month; day = day < 10 ? "0" + day : day; // 拼接年月日字符串 var dateString = year + "-" + month + "-" + day; console.log(dateString); // 输出2019-11-01 ``` 以上代码创建了一个Date对象,并将时间戳传入构造函数。然后通过Date对象的方法获取年月日信息,并将月份和日份转换为字符串并在前面补0。最后使用字符串拼接的方式将年月日字符串组合起来,得到格式为“yyyy-mm-dd”的日期字符串。最后将日期字符串输出即可。 ### 回答3: JavaScript 时间戳是从 1970 年 1 月 1 日 00:00:00 UTC 到当前时间的总秒数,而日期格式为 yyyy-mm-dd,可以使用 Date 对象来进行转换操作。 首先需要获取当前时间戳: ``` let timestamp = Date.now() // 获取当前时间戳 ``` 接着,使用 Date 对象将时间戳转换为对应的日期对象: ``` let dateObject = new Date(timestamp) // 将时间戳转换为日期对象 ``` 此时,dateObject 对象中包含了日期、时间等相关信息,需要从中提取出 yyyy-mm-dd 格式的日期信息。可以使用以下方法: ``` let year = dateObject.getFullYear() // 获取年份 let month = dateObject.getMonth() + 1 // 获取月份,注意需要加 1 let day = dateObject.getDate() // 获取日期 ``` 其中,`getFullYear()` 方法返回一个四位数表示年份(例如:2022),`getMonth()` 方法返回一个 0 到 11 的整数表示月份(其中 0 表示一月,11 表示十二月),而 `getDate()` 方法返回一个 1 到 31 的整数表示日期。 最后,将年、月、日拼接起来,即可得到 yyyy-mm-dd 格式的日期: ``` let dateString = `${year}-${month}-${day}` // 拼接年、月、日,得到日期字符串 console.log(dateString) // 输出:2022-9-26 ``` 以上就是使用 JavaScript 将时间戳转换为 yyyy-mm-dd 格式日期的过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值