簡體   English   中英

Javascript 日期為 sql 日期 object

[英]Javascript date to sql date object

I'm trying to write a query that takes a Javascript date object and then puts it in an object type that is recognized by both SQL Server and Oracle database types.

問題是我正在使用網絡服務。 所以它必須是一個字符串,而不是實際傳遞的參數。 這就是我的意思:

var date = new Date();
var firstDayOfMonth = new Date(date.getFullYear(), date.getMonth(), 1);
var lastDayOfMonth = new Date(date.getFullYear(), date.getMonth() + 1, 0);

var webServicesQueryWhereClause = 'readDate BETWEEN '+firstDayOfMonth+' AND '+lastDayOfMonth;

除了firstDayOfMonthlastDayOfMonthto_date()之類的東西包圍,實際上將它們放在數據庫可以讀取的日期格式中。 例如:

var webServicesQueryWhereClause = 'readDate BETWEEN to_date('+firstDayOfMonth+') AND to_date('+lastDayOfMonth+') ';

我應該用什么將這些日期放在 SQL 服務器和 Oracle 都可以讀取的形式中?

您是否嘗試過此處提供的解決方案:

將 JS 日期時間轉換為 MySQL 日期時間

標題應該叫

“將 JS 日期轉換為 SQL 日期時間”

我碰巧需要和你剛才做同樣的事情,在你提出問題后我遇到了這個問題。

這是 Gajus Kuizinas 為那些想要在此頁面上提供答案的人的另一篇文章:

var pad = function(num) { return ('00'+num).slice(-2) };
var date;
date = new Date();
date = date.getUTCFullYear()         + '-' +
        pad(date.getUTCMonth() + 1)  + '-' +
        pad(date.getUTCDate())       + ' ' +
        pad(date.getUTCHours())      + ':' +
        pad(date.getUTCMinutes())    + ':' +
        pad(date.getUTCSeconds());

new Date().toISOString().slice(0, 19).replace('T', ' ');

第一個為我工作。 我也有一個關於 toISOString 的參考問題,盡管我更喜歡一個班輪。 任何人都可以澄清如何使用它並知道在哪里可以引用它的限制嗎? 祝你好運!

使用 MomentJs 會很容易。

moment().format('YYYY-MM-DD HH:mm:ss')

https://momentjs.com/

在我的情況下,我試圖獲取一個 TIMESTAMP 並將其存儲到一個變量中,以便我可以在 SQL 查詢中傳遞該數組(行插入)

以下對我很有效。

var created_at = new Date().toISOString().slice(0, 19).replace('T', ' ');

可能是我發現了一個更短的方法 - 在 MSSQL 和 Postgres 上測試

const date = (new Date()).toLocaleString("en-US")

享受!

我用:

const datetimeSQL = new Date().toISOString().split('T').join(' ').split('Z').join('');
// return '2022-09-02 19:54:17.028'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM