本文实例讲述了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程序设计有所帮助。