我的最終目標是檢查subscription.cancel_at_period_end訂閱false結束日期并將其存盤為時刻日期物件。
const subscriptionEndDate = moment(subscription.current_period_end);
這是測驗模式下來自條帶的結果欄位。
current_period_end: 1649650039
但即使使用new Date(subscription.current_period_end)也回來了1970-01-20T02:14:10.039Z
這不是應該顯示下一個計費日期的欄位嗎?
有什么想法嗎?我錯過了什么?
更新:
我只是在做一些測驗,發現如果我將該值乘以1000,則結果為1649650039000,相當于
2022 年 4 月 11 日星期一 00:07:19
是否有一個原因?這是一種安全的方法嗎?
更新:
我接受了下面的答案,并提供了直接轉換為 unix 時間戳的 momentjs。
const date = moment(new Date()).unix();
uj5u.com熱心網友回復:
問題
- Stripe 將日期欄位報告為Unix 時間戳。這些將日期/時間表示為自 1970 年 1 月 1 日以來的秒數(有點……閏秒很奇怪)。
- Javascript Date 物件嘗試轉換自 1970 年 1 月 1 日以來的毫秒數,因為這是與前端 Web 編碼更相關的時間增量。
解決方案
您已經找到了一個合適的解決方案,即將時間戳乘以 1000,從而將以秒為單位的值轉換為以毫秒為單位的值。這似乎是1 , 2 , 3的常見作業
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/441235.html
上一篇:Node.js需要
