1

我有以下 javascript 代码:

var myDate = new Date("10/04/2013");
var d = myDate.getDate();
var m = myDate.getMonth();
var y = myDate.getFullYear();

当我调试这段代码时,我得到:

d = 4

米 = 9

y = 2013

这不是我所期望的。我想将我的日期解释为日/月/年。

如何进行?

谢谢。

4

4 回答 4

1

创建一个日期适配器,它将您的日期类型转换为正确的 JS 日期对象。像这样的东西-

var myDateAdapter  = function(str){
var d = new Date();
var k = str.split('/');
d.setDate(k[0]);
d.setMonth(k[1]-1);
d.setFullYear(k[2]);
return d;
};
于 2013-04-27T15:06:50.877 回答
1

使用 split 函数获取日、月、年并构造日期。

function myDateFormat(dateString) {
    var splited = dateString.split("/");
    return (new Date(splited[2],splited[1] - 1, splited[0]));
}

var myDate = myDateFormat("10/04/2013");

希望这会有所帮助。

于 2013-04-27T15:57:01.260 回答
1

月份0以 JavaScript 为索引。

这是它的 MDN 文档。

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date

于 2013-04-27T14:12:42.713 回答
0

尝试这个:

Date.parseEx = function (d) {
    var r = /(\d+)\/(\d+)\/(\d+)/;
    if (r.test(d)) {
        var m = d.match(r);
        return new Date(m[3], m[1] - 1, m[2]);
    }
    return null;
}

然后:

var myDate = Date.parseEx("10/04/2013");
if (myDate) {
    var d = myDate.getDate();
    var m = myDate.getMonth();
    var y = myDate.getFullYear();
}
于 2013-04-27T14:55:31.207 回答