本文實例講述了js模仿php中strtotime()與date()函數實作方法。分享給大家供大家參考。具體如下:
在js中沒有像php中strtotime()與date()函數,可直接轉換時間戳,下面我們來自定一個函數來實現js中具體有時間戳轉換的功能。
function datetime_to_unix(datetime){ var tmp_datetime = datetime.replace(/:/g,'-'); tmp_datetime = tmp_datetime.replace(/ /g,'-'); var arr = tmp_datetime.split("-"); var now = new Date(Date.UTC(arr[0],arr[1]-1,arr[2],arr[3]-8,arr[4],arr[5])); return parseInt(now.getTime()/1000); } function unix_to_datetime(unix) { var now = new Date(parseInt(unix) * 1000); return now.toLocaleString().replace(/年|月/g, "-").replace(/日/g, " "); } var datetime = '2012-11-16 10:36:50'; var unix = datetime_to_unix(datetime); document.write(datetime+' 转换后的时间戳为: '+unix+' '); var unix = 1353033300; var datetime = unix_to_datetime(unix); document.write(unix+' 转换后的日期为: '+datetime);
如果想彈出:2010-10-20 10:00:00這個格式的也好辦
<script> function getLocalTime(nS) { return new Date(parseInt(nS) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " "); } alert(getLocalTime(1177824835)); </script>
完整實例
<script type="text/javascript"> var day1 = parseInt(new Date().valueOf()/1000); var day2 = new Date(day1 * 1000); function getLocalTime(nS) { return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:d{1,2}$/,' '); } /* 同上面函数 */ function getLocalTimes(nS) { return new Date(parseInt(nS) * 1000).toLocaleString().substr(0,17); } function getLocalFormatTime(nS) { return new Date(parseInt(nS) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " "); } document.getElementById("btn1").onclick = function(){ alert(day1); } document.getElementById("btn2").onclick = function(){ alert(day2.toLocaleString()); } document.getElementById("btn3").onclick = function(){ alert( getLocalTime(day1) ); } document.getElementById("btn4").onclick = function(){ alert( getLocalFormatTime(day1) ); } document.getElementById("btn5").onclick = function(){ alert(day2.getFullYear()+"-"+(day2.getMonth()+1)+"-"+day2.getDate()+" "+day2.getHours()+":"+day2.getMinutes()+":"+day2.getSeconds()); } </script>
希望本文所述對大家的javascript程式設計有所幫助。