js实现类似php中strtotime函数和timetostr的日期转换/互换功能

来源:互联网 发布:王圆箓 知乎 编辑:程序博客网 时间:2024/05/16 17:52
<script type="text/javascript">//日期(格式:yyyy-mm-dd H:i:s) ---转换为以秒为单位的unix时间轴(格式:xxxxxx) 方法一://摘取天上星:http://blog.csdn.net/zqtsxfunction strtotime1(datetime){     var tmp_datetime = datetime.replace(/:/g,'-');     tmp_datetime = tmp_datetime.replace(/ /g,'-');     var arr = tmp_datetime.split("-");     var y=arr[0];    var m=arr[1]-1;    var d=arr[2];    var h=arr[3]-8; ///兼容八小时时差问题    var i=arr[4];    var s=arr[5];    //兼容无"时:分:秒"模式    if(arr[3]=='undefined' || isNaN(h)){      h=00;    }    if(arr[4]=='undefined' || isNaN(i)){      i=00;    }    if(arr[5]=='undefined' || isNaN(s)){      s=00;    }    var now = new Date(Date.UTC(y,m,d,h,i,s));     return parseInt(now.getTime()/1000); }//日期(格式:yyyy-mm-dd H:i:s) ---转换为以秒为单位的unix时间轴(格式:xxxxxx) 方法二:function strtotime(datetime){    var _ = datetime.split(' ');    var ymd = _[0];    var his = _[1];    var str = ymd.split('-');    var fix = his.split(':');    var year  = str[0] - 0;     var month = str[1] - 0 - 1;     var day   = str[2] - 0;     var hour   = fix[0] - 0;     var minute = fix[1] - 0;     var second = fix[2] - 0;    //兼容无"时:分:秒"模式    if(fix[0]=='undefined' || isNaN(hour)){      hour=00;    }    if(fix[1]=='undefined' || isNaN(minute)){      minute=00;    }    if(fix[2]=='undefined' || isNaN(second)){      second=00;    }    time = (new Date(year, month, day, hour, minute, second)).getTime();    //alert(time);    return parseInt( time / 1000 );}//日期24小时格式下,个位数前补零//摘取天上星:http://blog.csdn.net/zqtsxfunction fillZero(v){    if(v<10){v='0'+v;}    return v;}//以秒为单位的unix时间轴转换成日期 转换后的格式为:yyyy-mm-dd H:i:s   方法一:function timetostr1(unix) {     var now = new Date(parseInt(unix) * 1000);     //12小时格式日期转换获取方法该方法无法应用于反向转换,因为不精确    //return now.toLocaleString().replace(/年|月/g, '-').replace(/日/g, '').replace(/上午|下午/g,'');     //精确到24小时格式    return now.getFullYear()+'-'+fillZero(now.getMonth()+1)+'-'+fillZero(now.getDate())+' '+fillZero(now.getHours())+':'+fillZero(now.getMinutes())+':'+fillZero(now.getSeconds());}//linux时间秒 转换成日期格式//uninxtime以秒为单位的unix时间//type日期格式type=12为12小时格式,其它或不填写即为24小时格式//show_type是否显示星期几show_type=1即为显示星期几,并带有年月日的汉字日期单位,不填写或其它默认为不现实星期几//方法二://摘取天上星:http://blog.csdn.net/zqtsxfunction timetostr(unixtime,type,show_type){      var d=new Date(parseInt(unixtime) * 1000);      var Week=['星期天','星期一','星期二','星期三','星期四','星期五','星期六'];      Y=d.getFullYear();      M=fillZero(d.getMonth()+1);      D=fillZero(d.getDate());      W=Week[d.getDay()]; //取得星期几      H=fillZero(d.getHours());      I=fillZero(d.getMinutes());      S=fillZero(d.getSeconds());      //12小时制显示模式      if(type && type==12){        //若要显示更多时间类型诸如中午凌晨可在下面添加判断        if(H<=12){          H='上午 '+H;        }else if(H>12 && H<24){          H-=12;          H='下午 '+fillZero(H);        }else if(H==24){          H='凌晨 00';        }      }      if(show_type && show_type=='1') return Y+'年'+M+'月'+D+'日'+' '+W+' '+H+':'+I+':'+S;      return Y+'-'+M+'-'+D+' '+H+':'+I+':'+S;      //可添加扩展每秒更新时间 组建 摘取天上星:http://blog.csdn.net/zqtsx}</script>

0 0
原创粉丝点击