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

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值