我已查看此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()
值是一周中的一天的索引
例如,
如果我的dateString
是Thu Jun 20 2013 05:30:00 GMT+0530 (India Standard Time)
它输出为4-6-2013
如何获得正确的Day值?
P.S:我尝试使用.toLocaleString()
并从中创建新的日期对象。但它给出了相同的结果。
答案 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()
方法中收到的索引来利用它。