函数将时间戳转换为javascript中的人类date

如何将这个时间戳1382086394000转换为2013-10-18 08:53:14在javascript中使用函数? 目前我有这个function:

 function cleanDate(d) {return new Date(+d.replace(/\/Date\((\d+)\)\//, '$1'));} 

1382086394000可能是一个时间值,这是自1970-01-01T00:00:00Z以来的毫秒数。 您可以使用它来使用Date构造函数创build一个ECMAScript Date对象:

 var d = new Date(1382086394000); 

你如何把它转换成可读的东西取决于你。 简单地把它发送到输出应该调用内部的(和完全实现相关的) toString方法,通常以人类可读forms打印等效的系统时间,例如

 Fri Oct 18 2013 18:53:14 GMT+1000 (EST) 

在ES5中还有一些内置的格式化选项:

  • toDateString
  • toTimeString
  • 的toLocaleString

等等。 请注意,大部分依赖于实现,并且在不同的浏览器中会有所不同。 如果您想在所有浏览器中使用相同的格式,则需要自行设置date格式,例如:

 alert(d.getDate() + '/' + (d.getMonth()+1) + '/' + d.getFullYear()); 

这工作正常。 在chrome浏览器中检查:

 var theDate = new Date(timeStamp_value * 1000); dateString = theDate.toGMTString(); alert(dateString ); 

为什么不简单

 new Date (timestamp); 

date是一个date,格式是一个不同的问题。

以下是每种date格式混淆的简单方法:

当前date:

 var current_date=new Date(); 

获取当前date的时间戳:

 var timestamp=new Date().getTime(); 

将特定date转换为时间戳:

 var timestamp_formation=new Date('mm/dd/yyyy').getTime(); 

将时间戳转换为date:

  var timestamp=new Date('02/10/2016').getTime(); var todate=new Date(timestamp).getDate(); var tomonth=new Date(timestamp).getMonth()+1; var toyear=new Date(timestamp).getFullYear(); var original_date=tomonth+'/'+todate+'/'+toyear; OUTPUT: 02/10/2016 

Moment.js可以将unix时间戳转换为任何自定义格式

在这种情况下: var time = moment(1382086394000).format("DD-MM-YYYY h:mm:ss");

将打印18-10-2013 11:53:14 ;

这是一个演示这一点的笨蛋 。

 function unixTime(unixtime) { var u = new Date(unixtime*1000); return u.getUTCFullYear() + '-' + ('0' + u.getUTCMonth()).slice(-2) + '-' + ('0' + u.getUTCDate()).slice(-2) + ' ' + ('0' + u.getUTCHours()).slice(-2) + ':' + ('0' + u.getUTCMinutes()).slice(-2) + ':' + ('0' + u.getUTCSeconds()).slice(-2) + '.' + (u.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) }; console.log(unixTime(1370001284)) 2016-04-30 08:36:26.000 

formatDate是可以调用它的函数,并将要格式化的date传递给dd/mm/yyyy

 var unformatedDate = new Date("2017-08-10 18:30:00"); $("#hello").append(formatDate(unformatedDate)); function formatDate(nowDate) { return nowDate.getDate() +"/"+ nowDate.getMonth() + '/'+ nowDate.getFullYear(); } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="hello"> </div>