[英]How to replicate a function using date-fns
我正在使用momentjs。 使用它我创建了这个 function:
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
fns 库复制这个 function,但我不知道如何做到这一点,无法在 date-fns 中找到替代方法。
如何使用 date-fns 复制上面使用 momentjs 的 function?
我不使用date-fns
,但您不需要任何库。
这是使用 JavaScript 的内置Date
object 的相同逻辑:
const convertToLocalTime = (userHour) => { const dt = new Date(); dt.setHours(userHour); return userHour - dt.getTimezoneOffset() / 60; }; console.log(convertToLocalTime(4));
请注意,Moment 的utcOffset
和Date
的getTimezoneOffset
的符号相反。
您可以使用另一种方法,因为 JavaScript 的Date
object 具有本地和 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));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.