如何在没有任何时差的情况下从 ISO 获取 hh:mm 时间

how can I get hh:mm time from ISO without any time difference

createAlarm({
    active: true,
    date: picked_Date.toISOString(),
    message: 'sample alarm',
    snooze: 1,
});

我使用 DatePicker(react-native-date-picker) 和 react-native-simple-alarm 创建了一个闹钟

...
<Text>{date}</Text>  // 2022-02-16T08:47:25.352Z

我只想要 HH : 24 小时内的 MM 值,例如 13:42、09:50 或 22:10。 所以我尝试了这段代码

<Text>{moment(date).format('hh:mm')}</Text> // 05:47

这确实给了我hh:mm形成的价值, 但该值与我的计算机和 ios 模拟器不一样 它应该是 08:47,因为 {date} 是 2022-02-16T08:47:25.352Z

如何消除时差? 并在全球范围内设置时刻的时区与硬件相同(模拟器或phone)?

尝试moment.utc()。它会将你的输入时间调整为 UTC,这样你就可以得到你想要的时间。
hh:mm 也会给出 12 小时制时间,所以你需要 HH:mm 来获得 24 小时制

//12 hr clock
var a = moment.utc('2022-02-16T08:47:25.352Z').format('hh:mm');
var b = moment.utc('2022-02-16T18:47:25.352Z').format('hh:mm');

console.log(a)
console.log(b)


//24 hr clock
var c = moment.utc('2022-02-16T08:47:25.352Z').format('HH:mm');
var d = moment.utc('2022-02-16T18:47:25.352Z').format('HH:mm');

console.log(c)
console.log(d)
<script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/2.2.1/moment.min.js"></script>