java.util.Date 如何转变成一个double

bluedark 2004-04-05 02:53:26
大家都知道,在数据库中,用
select convert(float,datetime_field)
可以把一个日期类型转换成一个double型,整数部分是天,小数部分为不足一天的小数。

现在,如何在java中,将诸如字符串"2004-04-01"转变成与数据库一致的double。

我用gettime()得到的long,很难和数据库的转换一致。
...全文
237 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluedark 2004-04-09
  • 打赏
  • 举报
回复
你说的没有错。
相差是个固定值。
使用SimpleDateFormat,结合固定差值,自写一个小的转换类。
谢谢。
ChDw 2004-04-07
  • 打赏
  • 举报
回复
我不是说了,你需要注意“天数的部分你要注意是不是都是以同一天作为基准(如Java是midnight, January 1, 1970 UTC.)”
数据库我也不知道你用的是什么,以什么日期作基准。反正应该相差的值应该是固定的
就是无论哪一天都是相差这么多(但是注意java以UTC作为基准,就是如果在中国还差了8个小时的差的)
bluedark 2004-04-05
  • 打赏
  • 举报
回复
如果这两个之间有一个很简单的转换,就会方便许多。
bluedark 2004-04-05
  • 打赏
  • 举报
回复
getTime()/(1000 * 3600 * 24) 得到的是天数,这个与数据库的
convert(float,datetime) 很不一样的。
kewin 2004-04-05
  • 打赏
  • 举报
回复
那你在设计数据库时,为什么不把字段的类型定义为 varchar,保存 date->long 后的内容

ChDw 2004-04-05
  • 打赏
  • 举报
回复
天数的部分你要注意是不是都是以同一天作为基准(如Java是midnight, January 1, 1970 UTC.)

至于上面的格式你只要getTime()/(1000 * 3600 * 24)就可以了(后面是一天的毫秒数)

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧