Java中Date及Timestamp

 我来答
科创17
2022-11-22 · TA获得超过5918个赞
知道小有建树答主
回答量:2846
采纳率:100%
帮助的人:177万
展开全部

  整理一 这里的一片文章 我个人认为讲解的很详细 有对 java sql Date的使用还有困惑的请看

  java sql Date 只存储日期数据不存储时间数据// 会丢失时间数据preparedStatement setDate( new java sql Date(date getTime())) //可以这样来处理preparedStatement setTimestamp( new java sql Timestamp(new java util Date() getTime()))

  //想要得到完整的数据 包括日期和时间 可以这样java util Date d = resultSet getTimestamp( ) //这样处理更合适一些 可以避免一些潜在Timestamp 问题java util Date d = new java util Date(resultSet getTimestamp( ) getTime()) 自己补的话这样的话 往数据库存储的时候可以接收 java util Date类型 再用getTime()方法得到代表那个Date对象的long值 再以这个long值 构造一个Timestamp对象 存进数据库中

  从存数据库里取的时候 可以先得到Timestamp用他的getTime()方法得到long值 再以这个long值构造一个 java util Date对象 这样就可以对这个Date对象操作了 不如说 new SimpleTimeFormat( yyyyy MM dd HH mm ss ) format()等等

  整理二 用Timestamp来记录日期时间还是很方便的 但有时候显示的时候是不需要小数位后面的毫秒的 这样就需要在转换为String时重新定义格式

  Timestamp转化为String SimpleDateFormat df = new SimpleDateFormat( yyyy MM dd HH mm ss ) //定义格式 不显示毫秒 Timestamp now = new Timestamp(System currentTimeMillis()) //获取系统当前时间 String str = df format(now)          转化为StringTimestamp SimpleDateFormat df = new SimpleDateFormat( yyyy MM dd HH mm ss ) String time = df format(new Date()) Timestamp ts = Timestamp valueOf(time) 整理三 在 ResultSet中我们经常使用的setDate或getDate的数据类型是java sql Date 而在平时java程序中我们一般习惯使用 java util Date 因此在DAO层我们经常会碰到这俩种数据类型的相互转换 经过了一个下午的折腾 鄙人对两者的转换方法做出了小小总结 希望大家不吝指教

  两者的关系java lang Object | +——java util Date | +——java sql Date从这个图中我们可以知道java sql Date是从java util Date继承过来的

  相互转换 使用getTime()函数这两个类都提供了getTime()函数 用于返回对应的毫秒数(long类型) 利用这个函数可以实现转换 java util Date utilDate = new java util Date(sqlDate getTime())    // sql > util java sql Date sqlDate = new java sql Date(utilDate getTime())    // util > sql 使用SimpleDateFormat类实现转换SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类 它允许格式化 (date > text) 语法分析 (text > date)和标准化

lishixinzhi/Article/program/Java/hx/201311/26212

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式