温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-06-25 19:41:52 来源:网络 阅读:984 作者:happyyin 栏目:web开发
<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>


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI