我实际上是通过一个mongDB组件使用tLibraryLoad API,因为我发现使用tJavaRow和tJava组件构建复杂的多层次文档比使用MongoDB调色板组件更容易。
我从Oracle读取数据,这些数据是带有零时间戳组件的日期值:例如:
29-6月-08 00.00.00
导入是通过Talend完成的,但是mongo中的记录似乎是前一天。您可以看到,该记录是插入的28-6月-2008年。
从mongoDB中的JSON文档中提取:
"status_date“:ISODate("2008-06-28T23:00:00Z")
几乎就像mongoDB (或者Talend?)将午夜日期视为前一天的尾声,而不是2008年6月29日的开始。
在我的Talend架构中,我也将Oracle列指定为日期类型,并使用DB类型。
任何建议都很感激。
更新1--由于只有一些日期受到影响,这似乎是mongoDB中的DST调整,可能是将显示调整到我的本地时区,因为受影响的日期在夏令时的下半年。
是因为芒果壳的位置而调整日期吗?
由于mongo服务器的位置,所以所有使用mongo的人都会得到相同的日期查询答案。
不同的人在日期上运行不同的mongo查询会根据他们的位置得到不同的结果,他们的DST会在日期中启动吗?你可以想象从2015年11月1日开始,被算作10月31日数字的贡献(在23:00).
我
发布于 2016-01-06 18:37:31
我认为这是因为您的服务器的时区。尝试从date对象中移除时区,然后将其插入mongodb。
使用moment.js,您可以以这样的方式创建没有时区的日期:
var date = moment.utc("29-JUN-08 00.00.00", 'DD-MM-YYYY h.mm.s').format()https://stackoverflow.com/questions/34639865
复制相似问题