Java 日期转换详解及实例代码
这里有新鲜出炉的 Java 并发编程示例, 程序狗速度看过来!
Java 程序设计语言
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言, 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台 (即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se)) 的总称
这篇文章主要介绍了 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;
- }
来源: http://www.phperz.com/article/18/0209/359500.html