Java 日期转换详解及实例代码
java 日期转换
涉及的核心类:date类、simpledateformat类、calendar类
一、 date型与long型
date型转换为long型
date date = new date();//取得当前时间date类型
long date2long = date.gettime();//date转long
long型转换为date型
long cur = system.currenttimemills();//取得当前时间long型返回
date long2date = new date(cur);//long转date
二、date型与string型
date型转换为string型
date date = new date(); simpledateformat sdf = new simpledateformat("yyyy-mm-dd hh:mm:ss.sss");//设置目标转换格式为yyyy-mm-dd hh:mm:ss.sss string date2string = sdf.format(date);//date转string
string型转换为date型
string str="2001-11-03 11:12:33.828";//设置初始string类型日期
date str2date=sdf.parse(str);//string转date
三、date型与calendar型
date型转换为calendar型
calendar cal = calendar.getinstance();//取得当前时间calendar类型
cal.settime(date); //date转calendar
calendar型转换为date型
calendar cal = calendar.getinstance();//取得当前时间calendar类型
date cal2date = cal.gettime();//calendar转date
四、总结
- string与基本类型之间的转换依靠的是string.valueof()方法
- date与string类之间的转换依靠的是simpledateformat类
- date与long转换依靠的是date提供的构造以及gettime()方法
- date与calendar转换依靠的是calendar提供的settime()及gettime()方法
五、面试题
q:写一个方法,参数是date date,将date往后推3天,在以“yyyy-mm-dd”格式返回字符串类型
public string add3day(date date) throws parseexception{ simpledateformat sdf = new simpledateformat("yyyy-mm-dd"); calendar cal = calendar.getinstance(); cal.settime(date);//date转换为calendar cal.add(calendar.date, 3);//将日期往后推3天,减少3天则-3. 月增加则calendar.month string after = sdf.format(cal.gettime());//calendar转换为date,再转换为string return after; }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
上一篇: Matlab之亮度变换及直方图绘制
下一篇: SpringBoot之模板引擎