Момент местное время в UTC преобразование просто дает местное время - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь получить строку времени UTC в формате YYYY-MM-DD HH:MM:SS, но при использовании момента он просто возвращает местное время ввода, что я делаю неправильно?

moment('2019-04-16 22:00:00:').utc()

Возвращает объект момента со значением 2019-04-16 22:00:00

Ответы [ 2 ]

0 голосов
/ 17 апреля 2019

Вы можете использовать библиотеку moment-timezone, вы можете ввести любой часовой пояс, который хотите конвертировать в UTC.

var input = "2019-04-16 22:00:00"
var format   = "YYYY-MM-DD HH:mm:ss";
var yourzone  = "Asia/Seoul";

var yourtime = moment.tz(input, format, yourzone);

// convert to utc
yourtime.utc();

// format output
var result = yourtime.format(format) 
console.log(result)

var input = "2019-04-16 22:00:00"
var format   = "YYYY-MM-DD HH:mm:ss";
var yourzone  = "Asia/Seoul";

var yourtime = moment.tz(input, format, yourzone);

// convert to utc
yourtime.utc();

// format output
var result = yourtime.format(format) 
console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.11/moment-timezone-with-data-2010-2020.min.js"></script>
<p id="london"></p>
0 голосов
/ 17 апреля 2019

Это рабочий пример, который переводит местное время в UTC. Проверьте это

var local = moment.utc().local().format("YYYY-MM-DD HH:mm:ss");
console.log(local, "- local");
var date = moment(local).utc().format("YYYY-MM-DD HH:mm:ss");
console.log(date, "- local now in UTC");
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
...