从Javascript中的日期字符串中获取确切日期

时间:2013-06-11 06:52:18

标签: javascript date date-format

我已查看此SO帖子:Where can I find documentation on formatting a date in JavaScript?

我也研究过http://home.clara.net/shotover/datetest.htm

我的字符串是:Mon Jun 24 2013 05:30:00 GMT+0530 (India Standard Time)

我想将其转换为dd-mm-yyyy格式。

我尝试使用:

var dateString = 'Mon Jun 24 2013 05:30:00 GMT+0530 (India Standard Time)';
var myDate = new Date(dateString);
var final_date = myDate.getDay()+"-"+(myDate.getMonth()+1)+"-"+myDate.getFullYear();

但它给我的结果为:1-6-2013

getDay()值是一周中的一天的索引 例如, 如果我的dateStringThu Jun 20 2013 05:30:00 GMT+0530 (India Standard Time) 它输出为4-6-2013

如何获得正确的Day值?

P.S:我尝试使用.toLocaleString()并从中创建新的日期对象。但它给出了相同的结果。

4 个答案:

答案 0 :(得分:4)

要获取当月的日期,请使用getDate()

var final_date = myDate.getDate()+"-"+(myDate.getMonth()+1)+"-"+myDate.getFullYear();

答案 1 :(得分:3)

W3学校建议您只需构建一周中的数组并使用它:

var d=new Date();
var weekday=new Array(7);
weekday[0]="Sunday";
weekday[1]="Monday";
weekday[2]="Tuesday";
weekday[3]="Wednesday";
weekday[4]="Thursday";
weekday[5]="Friday";
weekday[6]="Saturday";

var n = weekday[d.getDay()];

不是超级优雅,但可用。

答案 2 :(得分:3)

var dateString = 'Mon Jun 24 2013 05:30:00 GMT+0530 (India Standard Time)';
var myDate = new Date(dateString);
var final_date = myDate.getDate()+"-"+(myDate.getMonth()+1)+"-"+myDate.getFullYear();

用getDate()替换getDay()。

以上将返回每个日期部分的本地日期,如果您需要通用时间,请使用UTC变体。

答案 3 :(得分:0)

我认为你将不得不采取一系列的日子和时间。使用getDay()方法中收到的索引来利用它。