java时间函数的应该注意哪些事项呢?深圳达内老师把时间函数分为两点,第一:就是java API中的时间类,还有一个就是数据库中的时间函数。主要分为这两点,在java开发过程中设计到时间的,都会用到这两个。首先,我们讲讲java API中的时间类:他主要有以下几个方面 java.util.Date; java.sql.Date; java.util.Calendar' java.text.SimpleDateFormat java.util.Date 就是在除了SQL语句的情况下面使用,java.sql.Date 是针对SQL语句使用的,它只包含日期而没有时间部分它都有getTime方法返回毫秒数,自然就可以直接构建 java.util.Date d = new java.util.Date(sqlDate.getTime()); java.util.Date 是 java.sql.Date 的父类(注意拼写)前者是常用的表示时间的类,我们通常格式化或者得到当前时间都是用他,后者之后在读写数据库的时候用他,因为PreparedStament的setDate()的第2参数和ResultSet的getDate()方法的第2个参数都是java.sql.Date 转换是java.sql.Date date=new java.sql.Date();java.util.Date d=new java.util.Date (date.getTime());反过来是一样的
继承关系:java.lang.Object -> java.util.Date -> java.sql.Date 具体的转换关系就是java.util.Date d=new java.util.Date (new Java.sql.Date()); 这些东西是比较有用的。 java.util.Calendar, java.text.SimpleDateFormat用的最多的是时间转换。于是我就利用一个下午的时间好好收集了资料然后封装好一个,如果有什么不好的地方大家可以给我回复。 //注意HH与hh含认不同,HH表示以24小时制取,hh表示以12小时制取
2:SQL中的时间函数。MySql的时间类型有 Java中与之对应的时间类型date java.sql.DateDatetime java.sql.TimestampTimestamp java.sql.TimestampTime java.sql.TimeYear java.sql.Datedate: 只记录日期信息,表示范围为1000-01-01 至 9999-12-31。"YYYY-MM-DD"DateTime 与Date最主要的区别在于:DateTime 可以记录日期和时间信息。而Date只记录日期信息。表示范围为: 1000-01-01 00:00:00 至 9999-12-31 23:59:59 "YYYY-MM-DD HH:MM:SS";TimeStamp 与DateTime类型非常相似 范围为1970-01-01 2037年,精度为1秒/如果在Sql中未对Timestamp类型的列赋值,该列将被构造成当前时间。提交NULL值也会使该列以当前时间录入。如果时间提交错误,该列将被填入0.Timestamp比DateTime 类型所需的存储空间更小,只需要4个字节,而DateTime需要8个字节。但是有一点需要特别注意。Timestamp只能表示时间范围为1970 -2037. “YYYY-MM-DD HH:MM:SS”Time 只记录时间信息,不包含日期信息。范围为-838:59:59 到 838:59:59, "HH:MM:SS”。 只要掌握上上面两个知识点,相信对于java时间函数会有一个深刻的认识。