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);