java中日期类型数据的处理
java小白一个,最近项目中用到了日期相关数据的处理,所以在此做一个简单的小总结,自己在回顾一下基础。
常用到的日期类有
java.util.Calendar
java.util.GregorianCalendar
java.util.TimeZone
java.text.DateFormat
java.text.SimpleDateFormat
java.sql.Date
java.sql.Time
java.sql.Timestamp
格式转换
Date
Date类型转String类型
//yyyy-MM-dd HH:mm:ss表示24时间进制
SimpleDateFormat sDateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String date=sDateFormat.format(new Date());
//注:MySQL数据库中date和datetime数据类型可接收日期格式数据,
若通过String类型插入数据库,需要在日期字符串上加上标即'1970-01-01 01:01:01'
String类型转Date
String dStr ="2001.12.12-08:23:21";
Date d = null;
SimpleDateFormat sdf = newSimpleDateFormat("yyyy.MM.dd-HH:mm:ss");
try {
d = sdf.parse(dStr);
} catch (ParseException pe) {
System.out.println(pe.getMessage());
}
System.out.println(d.toLocaleString());//返回当前区域设置的默认格式表示的日期
毫秒数据转化为日期格式
//以1429339937748为毫秒数实例化一个Date对象
Date date =new Date(1429339937748l); SimpleDateFormat sdf=newSimpleDateFormat("yyyy-MM-dd");
//设置转化格式
String time=sdf.format(date);//将Date对象转化为yyyy-MM-dd形式的字符串
System.out.println(time);//输出字符串
输出结果为
Calendar
caledar类功能很强大,实现方式也比较复杂;
//首先获取一个实例化的对象,由于Calendar是抽象类,因此不能new
Calendar calendar =Calendar.getInstance();
//获取年份
int year = calendar.get(Calendar.YEAR);
//获取月份(月份的话需要在原来的基础上+1)
int month = calendar.get(Calendar.MONTH)+ 1;
//小时--24小时
int hour = calendar.get(Calendar.HOUR_OF_DAY);
//小时--12小时
int hour1= calendar.get(Calendar.HOUR);
//分钟
int minute = calendar get(Calendar.MINUTE);
//秒
int second = calendar.get(Calendar.SECOND);
//星期几
int day = calendar.get(Calendar.DAY_OF_WEEK);
//过去一小时,其他的时间加减处理同理
calendar.add(Calendar.MINUTES, -1);