как конвертировать момент времени datejs в строку и наоборот - PullRequest
0 голосов
/ 01 марта 2019

Я вычисляю дату и время, используя

datetime_from_moment = moment.utc().utcOffset('+0530')

, а затем преобразую его в строку, чтобы я мог сохранить его в базе данных реального времени firebase, например:

datetime_from_moment_string = datetime_from_moment.toString()

, через некоторое время я получаю эту дату (который находится в строковом формате) из базы данных, чтобы сделать некоторые вычисления.Чтобы сделать эти вычисления, я должен преобразовать эту строку в тип момента.Как мне это сделать?

Дата и время в виде строкового типа выглядят так: Fri Mar 01 2019 22:07:56 GMT+0530

Чтобы преобразовать это, я делаю это datetime_converted = moment(datetime_from_moment_string)

, но получаю эту ошибку:

Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.
Arguments:
[0] _isAMomentObject: true, _isUTC: false, _useUTC: false, _l: undefined, _i: Fri Mar 01 2019 22:10:42 GMT+0530, _f: undefined, _strict: undefined, _locale: [object Object]
Error
    at Function.createFromInputFallback (E:\workspace_javascript\testingProject\node_modules\moment\moment.js:320:98)
    at configFromString (E:\workspace_javascript\testingProject\node_modules\moment\moment.js:2368:15)
    at configFromInput (E:\workspace_javascript\testingProject\node_modules\moment\moment.js:2594:13)
    at prepareConfig (E:\workspace_javascript\testingProject\node_modules\moment\moment.js:2577:13)
    at createFromConfig (E:\workspace_javascript\testingProject\node_modules\moment\moment.js:2544:44)
    at createLocalOrUTC (E:\workspace_javascript\testingProject\node_modules\moment\moment.js:2631:16)
    at createLocal (E:\workspace_javascript\testingProject\node_modules\moment\moment.js:2635:16)
    at hooks (E:\workspace_javascript\testingProject\node_modules\moment\moment.js:12:29)
    at Object.<anonymous> (E:\workspace_javascript\testingProject\index.js:58:26)
    at Module._compile (internal/modules/cjs/loader.js:688:30)

1 Ответ

0 голосов
/ 01 марта 2019

Вам нужно тщательно выстроить строку формата.Это было бы намного проще, если бы вы лучше форматировали строку DateTime. Но с тем, что вы предоставили, я думаю, что это должно работать.

moment("Fri Mar 01 2019 22:07:56 GMT+0530").format('dddd MMMM Do YYYY HH:mm:ss Z');

http://jsfiddle.net/qp8xfgkc/

...