CNode

如何把mongodb中Date日期值转换成本地日期值?

Jjbasttdi发布于13 年前最后回复13 年前6 回复39633 浏览0 收藏

大家好, 我现在用mongodb的date格式,用node.js取出json数据,再通过httpclient传到android端,但我在 android端通过jsonObject.getString("datename")得到的数据是:2014-01-15T07:14:57.340Z ,比实际值少了8小时,我知道是时区问题,请问一般怎么处理这个问题。 谢谢!

查看回复

回复 (6)

A
albertshaw#1·13 年前

如果以下这个结果没错的话

Wed Jan 15 2014 15:14:57 GMT+0800 (China Standard Time)

那么推荐用moment

npm install moment
J
jbasttdi#2·13 年前

谢谢,我要研究一下。 真的挺奇怪的,如果直接从node中查询后用console.log()输出,是这样正确的结果: Wed Jan 15 2014 15:14:57 GMT+0800 (China Standard Time),好像console会自动转换时区的。 但当字符串返回到android,用jsonObject取出来就又是Isodate格式了。

J
jbasttdi#3·13 年前

如果用moment那就是要在node端转换了,这样恐怕有问题,因为我是直接把查询结果返回给客户端,如果要转换那就要用forEach一个个转换了。 我想可能要在android端接收的时候做转换,但不知一般都是怎么处理这个问题的。

A
albertshaw#4·13 年前

如果android端的原生应用,搜一下关键字"iso 8601 format java"应该有的吧 如果是android端的webview应用,moment也是可以的吧

J
jbasttdi#5·13 年前

用了一个函数来处理下:

参与回复
登录后即可参与回复。登录