转自:http://wyoojune.blog.163.com/blog/static/57093325201131193650725/
这个在PHP +mssql(日期类型为datetime)+ajax的时候才能用到,js需要把时间戳转为为普通格式,一般的情况下可能用不到
<script> function getLocalTime(nS) { return new Date (parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/, ' ' ); } alert(getLocalTime(1293072805)); </script>
弹出:2010年12月23日 10:53
也可以用:
<script> function getLocalTime(nS) { return new Date (parseInt(nS) * 1000).toLocaleString(). substr (0,17)} alert(getLocalTime(1293072805)); </script>
如果想弹出: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>
另外我也參考了別的網站的一些東東,如下:
function formatDate(now) { var year=now.getYear(); var month=now.getMonth()+1; var date =now. getDate (); var hour=now.getHours(); var minute=now.getMinutes(); var second=now.getSeconds(); return year+ "-" +month+ "-" + date + " " +hour+ ":" +minute+ ":" +second; } var d= new Date (1230999938); alert(formatDate(d));
特別要提一下的是:
從MySQL 傳過來的數據,有可能是字符串,要把他們轉化為數字,數字也要*1000,因為JS里用的是毫秒數!我的如下:
var time_num = $( "date" ,message).text(); var time_num = parseInt(time_num); var d = new Date (time_num*1000); var temp_time = formatDate(d);
第一個例子做的就比較正規,什麽情況都考慮到了!
**********************************20170310
在js里面想得到现在的日期与时间,以及前一个小时的日期与时间,以下的代码正确,与之前的代码不同的地方在于,秒数前面增加了一个"0".
function formatDate(now) { var year=now.getFullYear(); var month=now.getMonth()+1; var date =now. getDate (); var hour=now.getHours(); var minute=now.getMinutes(); var second=now.getSeconds(); if (parseInt(second)<10){ second = '0' +second; } return year+ "-" +month+ "-" + date + " " +hour+ ":" +minute+ ":" +second; } var d1= new Date (); var d2= new Date (d1.getTime()-1*60*60*1000); alert(formatDate(d1)); alert(formatDate(d2));