这篇文章主要介绍了Java java.sql.Timestamp时间戳案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
Java.sql.Timestamp(时间戳)
继承父类:java.util.Date
所有实现的接口:可串行化的、可克隆的、可比较的。Dategt。#160;
主要构造方法:Timestamp(long millis)# 160;用毫秒时间值构造# 160;时间戳# 160;对象。
时间戳允许JDBC API将该类标识为SQL # 160时间戳# 160;价值。它添加并保存SQLTIMESTAMP#160,允许将小数秒指定为纳秒精度;小数值的能力。
Timestamp还提供了格式化和解析支持时间戳值的JDBC转义语法的能力,主要用于连接数据库时写一些日期处理。
例如:
在ResultSet中,我们经常使用的setDate或getDate的数据类型是java.sql.Date,而在普通的java程序中,我们通常习惯使用java.util.Date
但是,java.sql.Date只存储日期数据,不存储时间数据。这个标准类型实际上并不在数据库中存储每一分钟,所以您应该使用set Timestamp()和。
getTimestamp().
整理一: String --gt; Timestamp:#160;
时间戳转换成字符串时,可以直接。toString(),但有时显示时不需要小数点后的毫秒值,转换成字符串时需要借助DateFormat重新定义格式。
使用Timestamp的valueOf()方法,# 160;
Timestamp time= new Timestamp(System.currentTimeMillis());//获取系统当前时间 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String timeStr = df.format(time); time = Timestamp.valueOf(timeStr); System.out.println(time);//2017-05-06 15:54:21.0整理二: java.util.Date --gt;#160;Timestamp
1:#160;使用时间戳的构造方法
Date date = new Date(); Timestamp ts = new Timestamp(date.getTime());
方法二:
注意:父类不能直接转换为子类,需要中间的字符串,format的格式要和Timestamp的字符串类型格式匹配。
Java . lang . illegalargumentexception:时间戳格式必须是yyyy-mm-dd hh:mm:ss[。fffffff]
Date date = new Date(); DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateStr = sdf.format(date); Timestamp ts = Timestamp.valueOf(dateStr); //2017-05-06 15:54:21.0整理三:
通过构造方法创建时间戳对象。有三种方法可以获得毫秒值:
方法1:
system . current time millis();#160;
方法二:
Calendar.getInstance()。getTimeInMillis();#160;
方法三:# 160;
新日期()。getTime();
测试表明System.currentTimeMillis()是最快的方法。
日历。GetInstance()。GetTimeInMillis()这个方法是最慢的,因为Canlendar要花很多时间处理时区问题。
因此,建议使用第一种方法。
方法# 160;
(时间戳ts)#160之后的布尔值;
#160;#160;#160;#160;指示此时间戳对象是否晚于给定的时间戳对象。#160;
#65279;#65279;布尔之前(时间戳ts)# 160;
#65279;#160;#160;#160;#160;#160;#65279;指示此时间戳对象是否早于给定的时间戳对象。#160;
int compare to(Date o)# 160;
#65279;#160;#160;#160;#160;#160;#65279;将这个时间戳对象与给定的日期进行比较(它必须是一个时间戳对象)。#160;
int compareTo(时间戳ts)# 160;
#65279;#160;#160;#160;#160;#160;#65279;将这个时间戳对象与给定的时间戳对象进行比较。#160;
布尔等于(对象ts)# 160;
#65279;#160;#160;#160;#160;#160;#65279;测试此对象是否等于给定的时间戳对象。#160;
布尔等于(时间戳ts)# 160;
#65279;#160;#160;#160;#160;#160;#65279;测试这个时间戳对象是否等于给定的时间戳对象。#160;
int getNanos()# 160;
#65279;#160;#160;#160;#160;#160;#65279;获取此时间戳对象的nanos值。#160;
long getTime()# 160;
#65279;#160;#160;#160;#160;#160;#65279;返回自1970年1月1日00:00:00 GMT以来Timestamp对象所代表的毫秒数。#160;
void setNanos(int n)# 160;
#65279;#160;#160;#160;#160;#160;#65279;将这个时间戳对象的nanos字段设置为给定值。#160;
void setTime(长时间)# 160;
#65279;#160;#160;#160;#160;#160;#65279;设置这个时间戳对象来表示1970年1月1日00:00:00 GMT之后的时间点。#160;
string toString()# 160;
#65279;#160;#160;#160;#160;#160;#65279;使用JDBC时间戳来转义格式化时间戳。#160;
静态时间戳值Of(字符串s)# 160;
#65279;#160;#160;#160;#160;#160;#65279;将JDBC时间戳转义格式的字符串对象转换为时间戳值。#160;
示例代码:
tLotteryAnnouncement.setDateTime(new Timestamp(System.currentTimeMillis())); if(StringUtils.isNotBlank(tIsusesKj.getOpenTime())){ tLotteryAnnouncement.setOpenTime(Timestamp.valueOf(tIsusesKj.getOpenTime())); }else{ tLotteryAnnouncement.setOpenTime(new Timestamp(tIsusesKj.getModifyDate().getTime())); }
关于Java java.sql.Timestamp case的详细解释本文到此为止。关于Java java.sql.Timestamp的更多信息,请搜索源搜网之前的文章或者继续浏览下面的相关文章。希望大家以后能多支持
精彩评论