Date时间格式的转换以及一些用法
import java.util.Date; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; /* 使用方法: 将日期对象转换成日期格式的字符串 1.Date() + SimpleDateFormat() DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");Date date = new Date();
System.out.println(dateFormat.format(date)); 2. Calender() + SimpleDateFormat() Calendar cal = Calendar.getInstance(); System.out.println(dateFormat.format(cal.getTime())); */ public class GetCurrentDateTime { public static void main(String[] args) { /*
java.text.SimpleDateFormat是一个以与语言环境有关的方式来格式化和解析日期的具体类.
注意:yyyy-MM-dd HH:mm:ss这里的大小写要明确,可以参见JDK API java.text.SimpleDateFormat
*/ DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //创建日期的对象,通过format()方法将日期对象格式化,格式化后是String类型 Date date = new Date(); System.out.println(dateFormat.format(date)); /*Calendar 提供了一个类方法getInstance
,以获得此类型的一个通用的对象。Calendar
的getInstance
方法返回一个Calendar
对象,
其日历字段已由当前日期和时间初始化
*/
Calendar cal = Calendar.getInstance(); System.out.println(dateFormat.format(cal.getTime())); } }
/** * 日期对象和毫秒值之间的转换。 * * 毫秒值-->日期对象 : 1,通过Date对象的构造方法 new Date (timeMillis); 2,还可以通过setTime设置。 * 因为可以通过Date对象的方法对该日期中的各个字段(年月日等)进行操作。 * * 日期对象-->毫秒值: 2,getTime方法。 * 因为可以通过具体的数值进行时间运算。 * */ long time = System.currentTimeMillis(); System.out.println(time);// 输出的毫秒值 Date date = new Date();// 将当前日期和时间封装成Date对象。 System.out.println(date);// 输出Sat Nov 19 10:32:34 CST 2016 Date date2 = new Date();// 将指定毫秒值封装成date对象 System.out.println(date2);// Sat Nov 19 10:34:16 CST 2016
/** * 对日期对象进行格式化。 将日期对象-->日期格式的字符串。 使用的是 DateFormat 类中的format方法。 * */ Date date = new Date(); // 获取日期格式对象。具体着默认的风格。 FULL LONG等可以指定风格。 DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG);// 2016年11月19日 dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);// 2016年11月19日 上午10时48分39秒 // 自定义格式yyyy--MM--dd dateFormat = new SimpleDateFormat("yyyy--MM--dd");//2016--11--19 String str_date = dateFormat.format(date); System.out.println(str_date);
/** 将日期格式的字符串-->日期对象。 使用的是DateFormat类中的parse()方法。 */ String str_date = "2016年11月19日";// 这种日期格式需要DateFormat.LONG str_date = "2016--8--17";// 这种日期格式需要 new // SimpleDateFormat("yyyy--MM--dd") // 注意两种日期转换时的格式 DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG); dateFormat = new SimpleDateFormat("yyyy--MM--dd"); Date date = dateFormat.parse(str_date);// 抛出异常 String date2 = dateFormat.format(date); System.out.println(date2);