java中有关时间的类如下:
1. java.util.Date //代码精确到毫秒的时间实例
2. java.sql.Time //数据库操作时用
3. java.sql.Timestamp //数据库操作时用
4. java.sql.Date //数据库操作的时间
5. java.util.Canlendar //抽象类,用于操作日历
6. java.util.GregorianCalendar //具体类继承自Canlendar
7. java.text.DateFormat //日期格式化时用
8. java.text.SimpleDateFormat //继承自Dateformat
Date
构造方法
- Date()
- Date(long date)
常用方法
- boolean after(ate when)
- boolean before(Date when)
- long getTime() //返回时间实例的毫秒long值
- setTime(long time) //通过long值毫秒设置时间
注意:
1. 有关获取、设置年,月,日等的方法被Canlendar及其子类所取代
2. 有关时间格式的设置,被DateFormat及其子类所取代
Time TimeStamp
两者都允许jdbc将其作为SQL的标识值,time更多应用精确到秒的操作,而TimeStamp为时间戳,提供了精确到毫秒的获取与设置
int getNanos();
void setNanos();
Canlendar
日历类是一个抽象类,提供如下内容
1. 与时间(日历)操作相关的常量
2. 与时间(日历)操作相关的方法
常用方法
- void add(int field, int amount) //在当前时间的 field 值上加上amount。
- int get(int field) //获取当前时间的 field 的值
- static Canlendar getInstance() //获取当下时间的实例
- static Canlendar getInstance(TimeZone zone) //根据时区获取当下时间实例
- Date getTime() //获取当前日历对象对应的Date实例
- getTimeInMillis() //获取当前日历对象的毫秒值
- setTime(Date date) //通过Date设置日历实例
- void set(int field, int value)
- void set(int year, int month, int date, int hourOfDay, int minute)
- void set(int year, int month, int date, int hourOfDay, int minute, int second)
GregorianCanlendar
这是Canlendar的具体实现类
构造方法
- GregorianCalendar()
- GregorianCalendar(int year, int month, int dayOfMonth)
- GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second)
- GregorianCalendar(TimeZone zone)
、、、好像只能指定精确到秒
DateFormat SimpleDateFormat
用于日期的格式化,后者是前的具体实现类。
构造方法
SimpleDateFormat(String pattern)
常用方法
- String format(Date date)
- Date parse(String source)
Date field 与 字母的映射
- y 年
- M 月
- w 年中的周
- W 月中的周
- D 年中的天
- d 月中的天
- H 24小时制
- h 12小时制
- m 分
- s 秒
- S 毫秒
- System.currentTimeMillis() //获取系统当前时间long值