javascript - 如何使用 date-fns 复制函数
问题描述
我正在使用momentjs。使用它我创建了这个函数:
const convertToLocalTime = (userHour) => {
return userHour + moment().set("hours", userHour).utcOffset() / 60;
}
console.log(convertToLocalTime(4))
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
现在我想使用date-fns
库复制这个函数,但我不知道如何做到这一点,无法在 date-fns 中找到替代方法。
如何使用 date-fns 复制上面使用 momentjs 的函数?
解决方案
我不使用date-fns
,但您不需要任何库。
这是使用 JavaScript 的内置Date
对象的相同逻辑:
const convertToLocalTime = (userHour) => {
const dt = new Date();
dt.setHours(userHour);
return userHour - dt.getTimezoneOffset() / 60;
};
console.log(convertToLocalTime(4));
请注意,MomentutcOffset
和Date
' 的getTimezoneOffset
符号相反。
您可以使用另一种方法,因为 JavaScript 的Date
对象同时具有本地和 UTC 日期/时间功能:
const convertToLocalTime = (userHour) => {
const dt = new Date();
dt.setUTCHours(userHour); // Set the hours using the UTC function
return dt.getHours(); // Get the hours using the local time function
};
console.log(convertToLocalTime(4));
推荐阅读
- tomcat - Tomcat9 does not respond
- visual-studio-code - 扩展 'Prettier - Code Formatter' 无法格式化 - (Mac v8.0)
- django - 如何在 django 中确定 querset 的类型
- powershell - 从 powershell 运行 exe 并将流输出到同一个控制台
- javascript - 循环遍历对象数组时出现未定义的错误
- html - 为什么当我添加 div::before 时第一个字母不起作用?
- amazon-web-services - 使用 ALB 进行身份验证
- graphql - nestjs / graphql:默认异常过滤器泄露了太多敏感数据
- python - Python - 是否可以在列表中临时保留一个列表,并在需要时返回它?
- c# - blazor如何实时读取webapi并显示?