function formatDate (input) {
var datePart = input.match(/\d+/g),
year = datePart[0].substring(2), // get only two digits
month = datePart[1], day = datePart[2];
document.write(new Date(day+'/'+month+'/'+year));
}
formatDate ('2010/01/18');
当我打印这个时,我得到Thu Jun 01 1911 00:00:00 GMT+0530 (India Standard Time)
,但系统实际上是3:42 P.M
答案 0 :(得分:0)
使用当前日期检索时间并将其包含在新日期中。例如:
var now = new Date,
timenow = [now.getHours(),now.getMinutes(),now.getSeconds()].join(':'),
dat = new Date('2011/11/30 '+timenow);
答案 1 :(得分:0)
你必须给出时间:
//Fri Nov 11 2011 00:00:00 GMT+0800 (中国标准时间)
alert(new Date("11/11/11"));
//Fri Nov 11 2011 23:23:00 GMT+0800 (中国标准时间)
alert(new Date("11/11/11 23:23"));
答案 2 :(得分:0)
你想要什么?只是时间?或者您想要定义格式? Cu的代码期望这种格式为日期:dd / mm / yyyy,将其更改为yyyy / mm / dd
试试这个:
function formatDate (input) {
var datePart = input.match(/\d+/g),
year = datePart[0],
month = datePart[1], day = datePart[2],
now = new Date;
document.write(new Date(year+'/'+month+'/'+day+" " + now.getHours() +':'+now.getMinutes() +':'+now.getSeconds()));
}
formatDate ('2010/01/18')
输出:
Mon Jan 18 2010 11:26:21 GMT+0100
答案 3 :(得分:0)
将字符串传递给Date构造函数是不必要的复杂。只需传递值如下:
new Date(parseInt(year, 10), parseInt(month, 10), parseInt(day, 10))
您正在创建一个没有指定时间的Date()对象,因此它会在午夜时分出现。如果要添加当前日期和时间,请创建一个没有参数的新日期,并从中借用时间:
var now = new Date();
var myDate = new Date(parseInt(year, 10), parseInt(month, 10), parseInt(day, 10),
now.getHours(), now.getMinutes(), now.getSeconds())
无需剥离一年中最后两个字符。 " 2010"是一个非常好的一年。