连接日期和时间值

dan*_*lea 5 javascript datetime

我需要连接一个日期值和一个时间值,使一个值代表 JavaScript 中的日期时间。

谢谢,丹尼尔

use*_*667 8

使用字符串很有趣,但假设您有两个日期时间并且不喜欢依赖字符串。

function combineDateWithTime(d, t)
{
   return new Date(
    d.getFullYear(),
    d.getMonth(),
    d.getDate(),
    t.getHours(),
    t.getMinutes(),
    t.getSeconds(),
    t.getMilliseconds()
    );
}
Run Code Online (Sandbox Code Playgroud)

测试:

var taxDay = new Date(2016, 3, 15); // months are 0-indexed but years and dates aren't.
var clockout = new Date(0001, 0, 1, 17);
var timeToDoTaxes = combineDateWithTime(taxDay, clockout);
// yields: Fri Apr 15 2016 17:00:00 GMT-0700 (Pacific Daylight Time)
Run Code Online (Sandbox Code Playgroud)


Can*_*mak 5

我无法使接受的答案起作用所以使用 moment.js

date = moment(selected_date + ' ' + selected_time, "YYYY-MM-DD HH:mm");

  date._i   "11-06-2014 13:30"
Run Code Online (Sandbox Code Playgroud)


jon*_*ton 4

假设“date”是日期字符串,“time”是时间字符串:

// create Date object from valid string inputs
var datetime = new Date(date+' '+time);

// format the output
var month = datetime.getMonth()+1;
var day = datetime.getDate();
var year = datetime.getFullYear();

var hour = this.getHours();
if (hour < 10)
    hour = "0"+hour;

var min = this.getMinutes();
if (min < 10)
    min = "0"+min;

var sec = this.getSeconds();
if (sec < 10)
    sec = "0"+sec;

// put it all togeter
var dateTimeString = month+'/'+day+'/'+year+' '+hour+':'+min+':'+sec;
Run Code Online (Sandbox Code Playgroud)