zoukankan      html  css  js  c++  java
  • 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("时间参数非法 正确的时间示例: Thu Nov 9 20:30:37 UTC+0800 2006 或 2006/      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 ")

  • 相关阅读:
    一些小姿势
    <学习笔记>《具体数学》
    【react】报错Need at least a key or a value or a label (only for OptGroup) for [object Object]
    Calibration Checkerboard Collection
    华为云如何建表并创建作业定时调度抽取数据
    HIVE SQL教程
    postgresql 教程
    PC机启用了fiddler代理,在手机或其它机器上连接该代理,无法抓包
    Unity3d的Scroll View组件不能滑动到底的解决方式
    Unity3d让GridLayoutGroup按照子物体的数量自动调整宽高
  • 原文地址:https://www.cnblogs.com/mixzo/p/4213654.html
Copyright © 2011-2022 走看看