{ "time": 1627375726.8367202, "tzoffset": -25200, "ok": 1 }
使用上面的json,我需要获取日期、时间和时区。我试过很多方法,但都没有成功。有没有办法获取日期、时间和时区。我正在使用javascript。谢谢
8wtpewkr1#
查看那里的文档这里有一个小例子
moment.parseZone("2013-01-01T00:00:00-13:00").utcOffset(); // -780 ("-13:00" in total minutes)
wljmcqd82#
我们可以使用指定的unix时间和偏移量,使用 moment.utcOffset 功能。我们必须将tzoffset除以60,因为它(大概)是以秒为单位的,而矩则是以分钟为单位的。通常不可能获得唯一的时区值,因为您的tzoffset将由多个区域共享,因此我们只能获得以下列表:
moment.utcOffset
const input = { "time": 1627375726.8367202, "tzoffset": -25200, "ok": 1 }; console.log("UTC time:", moment.unix(input.time).utc().format('YYYY-MM-DD HH:mm')) console.log("Time in Timezone:", moment.unix(input.time).utcOffset(input.tzoffset / 60).format('YYYY-MM-DD HH:mm')) console.log("Time in Timezone (with offset):", moment.unix(input.time).utcOffset(input.tzoffset / 60).format()) console.log("Possible timezones:", getPossibleTimezones(input.time, input.tzoffset)) function getPossibleTimezones(time, tzoffset) { return moment.tz.names().filter(zone => moment.tz(moment.unix(time), zone).utcOffset() === input.tzoffset / 60); }
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js" referrerpolicy="no-referrer"></script> <script src="https://momentjs.com/downloads/moment-timezone-with-data.js"></script>
我也会考虑使用Luxon,因为现在是维修的时候了。我们可以使用fixedoffsetzone获取该区域的本地时间:
const input = { "time": 1627375726.8367202, "tzoffset": -25200, "ok": 1 }; let { DateTime, FixedOffsetZone } = luxon; let zone = new FixedOffsetZone(input.tzoffset / 60) console.log("UTC time:", DateTime.fromSeconds(input.time, { zone: 'UTC' }).toISO()) console.log("Time in timezone:", DateTime.fromSeconds(input.time, { zone: zone }).toISO())
<script src="https://cdnjs.cloudflare.com/ajax/libs/luxon/2.0.1/luxon.min.js" integrity="sha512-bI2nHaBnCCpELzO7o0RB58ULEQuWW9HRXP/qyxg/u6WakLJb6wz0nVR9dy0bdKKGo0qOBa3s8v9FGv54Mbp3aA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
2条答案
按热度按时间8wtpewkr1#
查看那里的文档
这里有一个小例子
wljmcqd82#
我们可以使用指定的unix时间和偏移量,使用
moment.utcOffset
功能。我们必须将tzoffset除以60,因为它(大概)是以秒为单位的,而矩则是以分钟为单位的。通常不可能获得唯一的时区值,因为您的tzoffset将由多个区域共享,因此我们只能获得以下列表:
我也会考虑使用Luxon,因为现在是维修的时候了。
我们可以使用fixedoffsetzone获取该区域的本地时间: