32

日付文字列を返す日付ピッカーと、時間文字列だけを返すタイムピッカーがあります。

それらを単一のjavascript Dateに結合するにはどうすればよいですか?

Date.jsで解決策を見つけたと思いました。例には - メソッドが示さat( )れていますが、ライブラリで見つけることができません...

4

7 に答える 7

33

YYYY-mm-dd次のような形式(またはDate.parseサポートする任意の形式)を返すように日付ピッカーを構成でき、次のようなタイムピッカーで文字列を作成できます。

 var dateStringFromDP = '2013-05-16';

 $('#timepicker').timepicker().on('changeTime.timepicker', function(e) {
    var timeString = e.time.hour + ':' + e.time.minute + ':00';
    var dateObj = new Date(datestringFromDP + ' ' + timeString);
  });

javascriptDateオブジェクトは、コンストラクターのパラメーターとして文字列を受け取ります

于 2013-05-16T21:40:22.747 に答える
14

次のように日付と時刻を文字列に結合します。

1997-07-16T19:20:15

次に、次のように解析できます。

Date.parse('1997-07-16T19:20:15');

moment.jsなどを使用することもできます。

于 2013-05-16T21:40:16.367 に答える
5

プレーンな JavaScript の場合:

combineDateAndTime = function(date, time) {
    timeString = time.getHours() + ':' + time.getMinutes() + ':00';

    var year = date.getFullYear();
    var month = date.getMonth() + 1; // Jan is 0, dec is 11
    var day = date.getDate();
    var dateString = '' + year + '-' + month + '-' + day;
    var combined = new Date(dateString + ' ' + timeString);

    return combined;
};
于 2015-11-27T08:30:36.420 に答える
4

日付と時刻を連結してから、 moment を使用してdatetime

const date = '2018-12-24';
const time = '23:59:59';

const dateTime = moment(`${date} ${time}`, 'YYYY-MM-DD HH:mm:ss').format();
于 2018-07-19T20:28:38.967 に答える