我正在尝试编写一个查询,该查询采用 Javascript 日期对象,然后将其放入 SQL Server 和 Oracle 数据库类型都能识别的对象类型中。
问题是我正在使用网络服务。所以它必须是一个字符串,而不是一个实际传递的参数。这就是我的意思:
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;
除了 firstDayOfMonth
和 lastDayOfMonth
被诸如 to_date()
之类的东西包围,实际上将它们置于数据库可以读取的日期格式中。例如:
var webServicesQueryWhereClause = 'readDate BETWEEN to_date('+firstDayOfMonth+') AND to_date('+lastDayOfMonth+') ';
我应该使用什么来将这些日期置于 SQL Server 和 Oracle 都可以读取的格式中?
最佳答案
您是否尝试过此处提供的解决方案:
Convert JS date time to MySQL datetime
标题应该叫
“将 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 的引用问题,尽管我更喜欢一个类轮。任何人都可以阐明如何使用它并知道可以在哪里引用它的限制吗? 祝你好运!
关于Javascript日期到sql日期对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20083807/