我已经将Luxon创建的datetime值保存到postgres数据库列中,类型为TIMESTAMP(3)。然后我想使用这个值,把它转换成其他时区,等等。然而,我似乎想不出如何“利用”它。
我使用以下方法创建了该对象:
const { DateTime } = require("luxon");
const myDate = DateTime.now().toUTC().toISO()
然后,我将其插入到postgres数据库中,插入时间戳(3)类型的列中。
我使用查询从数据库中提取它。当我记录它时,它说它的值是:
console.log(extracted_date); //=> "2021-12-27T09:57:16.184Z"
console.log(typeof extracted_date); //=> object
// The following return "unparsable" or undefined objects
DateTime.fromISO(extracted_date);
DateTime.fromObject(extracted_date);
我可以找到很多关于如何将日期插入sql的教程,但没有关于如何获取该日期对象并实际使用它的教程。例如,我想转换它的时区。
要使用date对象,您可以启动一个新日期,如下所示:
console.log(extracted_date); //=> "2021-12-27T09:57:16.184Z"
const javascriptDate = new Date(extracted_date);
比你可以直接使用它或与luxon库。
console.log(javascriptDate.toGMTString()); // => "Mon, 27 Dec 2021 09:57:16 GMT"
console.log(javascriptDate.toISOString()); // => "2021-12-27T09:57:16.184Z"
console.log(javascriptDate.valueOf()); // => 1640599036184
这个对象核心实际上是一个值,表示自1970年1月1日UTC以来的毫秒数,一般来说,它添加了时间和字符串解析函数。
如果您想阅读有关时间戳的更多信息,以下是一些参考资料:
UTC与ISO时间格式
什么是“正确的”JSON日期格式?