MomentJS по умолчанию преобразует мою дату в UTC

#javascript #momentjs #moment-timezone

Вопрос:

У меня возникла проблема, связанная с моментом, когда у меня есть следующая дата «27.09.2010 00:00:00», которая уже находится в часовом поясе UTC. Однако, когда я использую следующую функцию

 const date = moment(someDate, 'MM/DD/YYYY HH:mm:ss').valueOf();
 

Я получаю 1632718800000 в качестве значения метки времени. Но когда я выполняю обратный процесс, я получаю ’10/27/2021 05:00:00 »
Как я могу избежать MomentJS для преобразования моей даты в UTC по умолчанию?

Ответ №1:

Вы можете использовать момент(x).локальный()

 const someDate = '09/27/2021 00:00:00';
const date = moment(
  someDate,
  'MM/DD/YYYY HH:mm:ss'
);

// get timestamp
const timestamp = date.valueOf();

// revert datetime from timestamp
const dateFromTimeStamp = moment(timestamp);
console.log(dateFromTimeStamp.local().format('YYYY-MM-DD HH:mm:ss')); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js" integrity="sha512-qTXRIMyZIFb8iQcfjXWCO8 M5Tbc38Qi5WzdPOYZHIlZpzBHG3L3by84BBBOiRGiEb7KKtAOAs5qYdUiZiQNNQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>