gpt4 book ai didi

javascript - 在 IBM DB2 iSeries 的 Node.js 中将 Julian 日期转换为正常日期

转载 作者:搜寻专家 更新时间:2023-10-31 23:41:00 24 4
gpt4 key购买 nike

在我的一个应用程序开发中,我正在使用 IBM DB2 iSeries 数据库连接到 Progress 提供的 DataDirect 技术和 db2.jar。在数据库中,日期存储为 7 位 Julian 格式,我必须在正常日期中将其转换为 Node.js 中的时间戳,因为我的数据层已在必须部署在 Apigee 上的 Node.js 中实现。我需要一个通用的解决方案,可以在 SQL 查询级别以及在 Node.js 中将这个儒略日期转换为正常日期

Julian 日期的示例是 1160920,这对应于 2016-09-20。

最佳答案

经过大量调查后,我在 SQL 级别和 node.js 级别都找到了解决方案。

要使用 SQL 查询将 7 位 Julian 日期转换为普通日期,您可以对 IBM DB2 iSeries 数据库使用以下查询 -

SELECT DATE(((1160920 /10000)+1900)|| '-' ||
(MOD(1160920 ,10000) /100)|| '-' ||
MOD(1160920 ,100))
FROM
SYSIBM.SYSDUMMY1

要使用 node.js 执行相同的转换,请使用下面的代码,它将完美转换

var dateFormat = require('dateformat');
function julianIntToDate(n) {

var yy = ((n/10000)+1900);
var year = Math.floor(yy);
var mm = ((n % 10000)/100);
var mon = Math.floor(mm);
mon = leadingZero(mon);
var dd = (n % 100);
dd = leadingZero(dd);
console.log("Year--"+year);
console.log("Month--"+mon);
console.log("Day--"+dd);

var now = new Date(year+"-"+mon+"-"+dd);
console.log("Converted Date-->"+now);
orderDate = dateFormat(now, "yyyy-mm-dd'T'HH:mm:ss-0500");
return (orderDate);

function leadingZero(value) {
if (value < 10) {
return "0" + value.toString();
}
return value.toString();
}
}
console.log("Julian Date--->"+1160920);
console.log("Normal Date--->"+julianIntToDate(1160920).toString());

关于javascript - 在 IBM DB2 iSeries 的 Node.js 中将 Julian 日期转换为正常日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40738142/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com