繁体   English   中英

从日期对象获取当前时间

[英]Getting current time from the date object

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 PM

使用当前日期检索时间并将其包含在新日期中。 例如:

var now = new Date,
    timenow = [now.getHours(),now.getMinutes(),now.getSeconds()].join(':'),
    dat = new Date('2011/11/30 '+timenow);

您必须花时间:

//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"));

你想要什么? 只是时间? 还是要定义格式? 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
  1. 将字符串传递给Date构造函数不必要地复杂。 只需按以下方式传递值:

     new Date(parseInt(year, 10), parseInt(month, 10), parseInt(day, 10)) 
  2. 您正在创建未指定时间的Date()对象,因此该对象将在午夜出现。 如果要添加当前日期和时间,请创建一个不带参数的新日期,并从中借用时间:

     var now = new Date(); var myDate = new Date(parseInt(year, 10), parseInt(month, 10), parseInt(day, 10), now.getHours(), now.getMinutes(), now.getSeconds()) 
  3. 无需去除年份中的最后两个字符。 “ 2010”是完美的一年。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM