如何在React Native中获取当前全球标准时间(而非设备时间)?
在React Native中使用Moment获取全球标准时间(UTC)
你可以直接用Moment内置的UTC相关方法来获取全球标准时间,不需要额外依赖,具体用法如下:
获取当前UTC时间的Moment实例:
使用moment.utc()替代默认的moment(),这个方法会直接创建基于UTC时区的时间对象,而非设备本地时间。格式化UTC时间输出:
如果你需要特定格式的UTC时间字符串,直接在utc()后调用format()方法即可,示例:const currentUtcTime = moment.utc().format('YYYY-MM-DD HH:mm:ss'); console.log(currentUtcTime); // 输出类似 "2024-05-20 12:30:45" 的UTC时间转换本地时间为UTC时间:
如果你已经有一个本地时间的Moment对象,也可以通过utc()方法将其转换为UTC时间:const localTime = moment(); // 设备本地时间 const convertedUtcTime = localTime.utc().format('YYYY-MM-DD HH:mm:ss');
补充:原生JavaScript方案
如果不想依赖Moment,也可以用原生Date对象直接获取UTC时间:
- 获取UTC时间戳:
Date.now()(时间戳本身就是基于UTC的) - 获取UTC时间的具体部分:
const now = new Date(); const utcHours = now.getUTCHours(); const utcDate = now.getUTCDate(); // 其他方法还有 getUTCMinutes()、getUTCMonth()、getUTCFullYear() 等
不过原生方式格式化时间需要自己拼接,不如Moment便捷。
内容的提问来源于stack exchange,提问作者Divyata Chauhan
相关产品推荐
相关产品推荐

