我正在嘗試將時間和日期字串從本地時間轉換為 UTC。這是我所擁有的:
我使用 fullcalendar,當用戶點擊一個日期時,它會觸發一個模態,在模態中,有一個欄位供用戶選擇一個日期 示例
例如,假設用戶想要使用該日期,現在我需要將其轉換為 UTC。
a =$('#Date').val();
console.log(a);
"December 20, 2021"
b = $('#Time').val();
console.log(b);
"12:30 AM"
c = a " " b;
console.log(c);
"12:30 AMDecember 20, 2021"
所以我需要將 c 變數轉換為 utc。
現在我遇到的問題是格式,
y = selectedDate = moment(c, 'h:mm DD/MM/YYYY');
不作業而且我不是 100% 確定如何正確執行此操作。
console.log(y.utc());
Object { _isAMomentObject: true, _i: "December 20, 2021 12:30 AM", _f: "h:mm DD/MM/YYYY", _isUTC: true, _pf: {…}, _locale: {…}, _d: Date Mon Dec 20 2021 20:30:00 (local time :D), _isValid: true, _ambigTime: false, _ambigZone: false, … }
謝謝!
uj5u.com熱心網友回復:
好像你的決議字串是錯誤的。您可以"MMMM DD, YYYY h:mm A"用作決議字串。請檢查以下示例。
const a= "December 20, 2021"
const b= "12:30 AM"
const c = `${a} ${b}`;
console.log(moment().format("MMMM DD, YYYY h:mm A"))
y = selectedDate = moment(c, "MMMM DD, YYYY h:mm A");
console.log(y.utc());
console.log(y.format("MMMM DD, YYYY h:mm A"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
uj5u.com熱心網友回復:
我真的很喜歡Luxon(Moment 的繼任者)。
您可以使用它的方法DateTime.fromFormat并DateTime.toUTC獲取您需要的資料:
<script type="module">
import {DateTime} from 'https://unpkg.com/[email protected]/build/es6/luxon.js';
const dateStr = 'December 20, 2021';
const timeStr = '12:30 AM';
const dtString = `${timeStr} ${dateStr}`;
const parseFormat = 'h:mm a MMMM d, y';
const locale = 'en-US';
const dt = DateTime.fromFormat(dtString, parseFormat, {locale});
const logInfo = (name, dt) => console.log(name, dt.toString(), dt.toObject());
logInfo('local', dt);
logInfo('utc', dt.toUTC());
</script>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/390733.html
標籤:javascript 约会时间 瞬间
上一篇:Python日期時間轉換器
