JS объект даты на основе строк - PullRequest
1 голос
/ 18 августа 2011

Я хочу создать объект даты js на основе строк в формате ГГГГММДД и ЧЧММСС.

function makeTimeStamp(myDate, MyTime){
    // myDate format YYYYMMDD
    // myTime format HHMMSS
    var YYYY = myDate.substring(0, 3);
    var MM = myDate.substring(4, 5);
    var DD = myDate.substring(6,7);

    var HH = myTime.substring(0,1);
    var MM = myTime.substring(2,3);
    var SS = myTime.substring(4,5);
        jsDate = 
}

Ответы [ 4 ]

0 голосов
/ 15 сентября 2016

вы можете попробовать это: https://www.npmjs.com/package/timesolver

npm i timesolver

используйте его в своем коде:

const timeSolver = require('timeSolver'); const date = new Date(); const dateString = timeSolver.getString(date, 'YYYYMMDD HHMMSS'); `

Вы можетеполучить строку даты с помощью этого метода:

const dateString = timeSolver.getString(date, format);

Надеюсь, это поможет вам!

0 голосов
/ 18 августа 2011

Вы можете попробовать Date.js, который является библиотекой дат.http://www.datejs.com/

0 голосов
/ 18 августа 2011

Вы можете довольно легко преобразовать эти форматы даты и времени в формат ISO (например, "2011-08-18T12:34:56") и использовать регулярное выражение для проверки правильности форматирования аргументов:

function makeTimestamp(myDate, myTime) {
  var ds = myDate.match(/^(\d{4})(\d\d)(\d\d)$/)
    , ts = myTime.match(/^(\d\d)(\d\d)(\d\d)$/);
  if (!ds || !ts) { return null; }
  return new Date(ds.slice(1,4).join("-") + "T" + ts.slice(1,4).join(":"));
}

var d = makeTimestamp('20110818', '123456');
d // => Fri Aug 19 2011 12:34:56 GMT-0400 (EDT)
0 голосов
/ 18 августа 2011

Если вы намеревались создать объект Date для данного года, месяца, дня, часов, минут и секунд, вы можете использовать new Date(year, month - 1, day, hours, minutes, seconds) для создания экземпляра Date для него. Обратите внимание, что месяц основан на 0, январь - 0, 1 февраля и т. Д. Следовательно, ММ - 1;

function stringToDate(myDate, myTime){
    // myDate format YYYYMMDD
    // myTime format HHMMSS
    var YYYY = myDate.substr(0, 4);
    var MM = myDate.substr(4, 2);
    var DD = myDate.substr(6, 2);

    var HH = myTime.substr(0, 2);
    var mm = myTime.substr(2, 2);
    var SS = myTime.substr(4, 2);

    var jsDate = new Date(YYYY, MM - 1, DD, HH, mm, SS);
    return jsDate;
}

// returns a Date object for given date and time
var jsDate = stringToDate("20110818", "191500");
// returns 1313687700000
var timestamp = jsDate.getTime();

Обратите внимание, что я использую string.substr(start_position, length), так как вы можете легко увидеть длину возвращаемого значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...