2013-10-25 23 views
0

我有这个时间戳:2013-03-22T12:25:19,我需要转换为这样的:如果我使用toString()10:41 AM on Mon 07 Oct时间戳的日期和时间的JavaScript

我得到:Fri Mar 22 2013 12:25:19 GMT+0000 (GMT)

什么是转换其最简单的代码我想要什么?

我是否使用getMonth()等来格式化它,还是最好分割它? 我在这里读了几个不同的答案,但我不确定哪种方法适合这种情况。在过去,我会简单地使用这样的:

d = new Date(myDate); 

yyyy = d.getFullYear().toString(); 
mm = d.getMonth().toString(); 
dd = d.getDate().toString(); 
hh = d.getHours().toString(); 
mi = d.getMinutes().toString(); 

的情况下,我不知道这是最好的方法?

回答

0

感谢您的答复,但我不想因为我需要保持规模下降到使用图书馆。

最后我去了这一点:

function dateFormat(stamp){ 
    var d = new Date(stamp); 
    var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']; 
    var days = ['Mon','Tue','Wed','Thurs','Fri','Sat','Sun']; 
    var month = months[d.getMonth()]; 
    var dayText = days[d.getDay()]; 
    var day = d.getDate(); 
    var hour = d.getHours(); 
    var min = d.getMinutes(); 
    var hours = d.getHours(); 
    var ampm = hours >= 12 ? 'PM' : 'AM'; 
    hours = hours % 12; 
    hours = hours ? hours : 12; 

    return hours + ':' + min + ' ' + ampm + ' on ' + dayText + ' ' + day + ' ' + month; 
} 
dateFormat('2013-03-22T17:25:19'); 

这是专科我想要的东西,但是这有助于保持一定的尺寸了。

2

你应该考虑date.js这是一个不错的插件!

<html> 
<script type="text/javascript" src="http://www.datejs.com/build/date.js"></script> 
<script> 
alert(new Date().toString("hh:mm tt")); 
</script> 
</html> 

完美的作品 - 现在的月份和星期:

var now = new Date(); 
var dayNames = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"); 

alert("Today is " + dayNames[now.getDay()] + "."); 

var monthNames = [ "January", "February", "March", "April", "May", "June", 
"July", "August", "September", "October", "November", "December" ]; 

alert("The current month is " + monthNames[now.getMonth()]); 

这是否有意义?

+0

如果您打算使用date.js,请考虑使用Gregory的叉子,因为原来的放弃了。 [阅读](http://stackoverflow.com/tags/datejs/info)。 –

2

一个简单的方法是使用像moment.js这样已经创建的库!

使用built in format options给你正确的输出,例如:

moment(yourDateStr).format("dddd, MMMM Do YYYY, h:mm:ss a");