插入时区的最佳方式javascript postgres 9.6

时间:2018-01-11 19:23:37

标签: postgresql

使用javascript在postgresql中插入now()日期时间的最佳方法是什么?我已经按照一些答案但没有说清楚,我想找到纯粹的javascript方法,而不是使用moment.js

1 个答案:

答案 0 :(得分:0)

如果您插入表格创建SQL代码可能会好得多,这可能是您在javascript中应用程序代码的一部分,以及有关您在问题中所处情况的更多信息,为了那些想要帮助的人,更好地理解它。

假设您的表格中包含createdAt列,其类型为TIMESTAMP,并且您希望使用:nowValue的适当值填充下面的查询,该值是当前日期和时间,并且你不想使用Postgres的内置功能(如CURRENT_TIMESTAMP)或任何其他javascript库(如moment):

INSERT INTO "myTable" ("createdAt") VALUES (:nowValue)

首先,您必须初始化一个新的Date对象:

const nowValue = new Date();

然后,您可以将新创建​​的对象转换为字符串,并使用返回不同值的不同方法在查询中使用它:

nowValue.toDateString(); // "Fri Jan 12 2018"

nowValue.toGMTString(); // "Fri, 12 Jan 2018 11:09:43 GMT"

nowValue.toISOString(); // "2018-01-12T11:09:43.153Z"

nowValue.toLocaleDateString(); // "1/12/2018"

nowValue.toLocaleString(); // "1/12/2018, 2:39:43 PM"

nowValue.toUTCString(); // "Fri, 12 Jan 2018 11:09:43 GMT"

上述某些方法仅输出日期而非时间,这会使列的时间值设置为00:00:00.000000
有关这些方法及其不同之处的更多详细信息,请参阅:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date