首页 > Web开发 > 详细

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

时间:2014-06-22 08:08:07      阅读:520      评论:0      收藏:0      [点我收藏+]
<script type="text/javascript">  
//日期(格式:yyyy-mm-dd H:i:s) ---转换为以秒为单位的unix时间轴(格式:xxxxxx) 方法一:  
//摘取天上星:http://blog.csdn.net/zqtsx  
function 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/zqtsx  
function 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/zqtsx  
function 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>


本文出自 “摘取天上星” 博客,请务必保留此出处http://zqtsx.blog.51cto.com/3452697/1429357

js实现类似php中strtotime函数和timetostr的日期转换/互换功能,布布扣,bubuko.com

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

原文:http://zqtsx.blog.51cto.com/3452697/1429357

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!