5

我已经检查了这个 SO 帖子:在哪里可以找到有关在 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 的正确值?

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

4

4 回答 4

7

要获取月份中的某一天,请使用getDate()

var final_date = myDate.getDate()+"-"+(myDate.getMonth()+1)+"-"+myDate.getFullYear();
于 2013-06-11T06:56:03.487 回答
4
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();

将 getDay() 替换为 getDate()。

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

于 2013-06-11T06:59:34.427 回答
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()];

不是超级优雅,但可用。

于 2013-06-11T06:58:23.310 回答
0

我认为您将不得不采用几天的数组并使用从该getDay()方法接收到的索引来使用它。

于 2013-06-11T06:56:18.423 回答