1.Date类
Date类是jdk提高的标准日期类,在java.util包下
import java.util.Date;
public class testDate {
public static void main(String[] args) {
Date date=new Date();
System.out.println("当前日期:"+date);
long d=System.currentTimeMillis();
System.out.println("当前毫秒数"+d);
}
}
运行结果
注:
1.System.currentTimeMillis()返回当前的毫秒数,1970年1月1日0点表示0毫秒
2.Date类输出了当前日期和时间 但是格式不怎么好
3.Date类中的方法基本都废弃了,现在基本都用Calendar类
2.Calendar类
Calendar是日历类,也是java.util包下的,功能比较强大,但其实抽象类,一般实例化它的子类GregorianCalendar,或者用Calendar.getInstance()
import java.util.Calendar;
public class testCalendar {
public static void main(String[] args) {
Calendar c=Calendar.getInstance();
System.out.println(c.get(Calendar.YEAR));
System.out.println(c.get(Calendar.MONTH)+1); // 月份从0开始 要+1
System.out.println("现在是:"+c.get(Calendar.YEAR)+"年"
+(c.get(Calendar.MONTH)+1)+"月"
+c.get(Calendar.DAY_OF_MONTH)+"日"
+c.get(Calendar.HOUR_OF_DAY)+"时"
+c.get(Calendar.MINUTE)+"分"
+c.get(Calendar.SECOND)+"秒");
}
}
运行结果
3.SimpleDateFormat类
主要是用于日期对象和子符串的相互转换,在java.text包下
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class testSimpleDateFormat {
/**
* 将日期对象格式化为指定格式的日期字符串
* @param date 传入的日期对象
* @param format 格式
* @return
*/
public static String formatDate(Date date,String format){
String result="";
SimpleDateFormat sdf=new SimpleDateFormat(format);
if(date!=null){
result=sdf.format(date);
}
return result;
}
/**
* 将日期字符串转换成一个日期对象
* @param dateStr 日期字符串
* @param format 格式
* @return
* @throws ParseException
*/
public static Date formatDate(String dateStr,String format) throws ParseException{
SimpleDateFormat sdf=new SimpleDateFormat(format);
return sdf.parse(dateStr);
}
public static void main(String[] args) throws ParseException {
Date d=new Date();
System.out.println(formatDate(d,"yyyy-MM-dd"));
System.out.println(formatDate(d,"yyyy-MM-dd HH:mm:ss"));
System.out.println(formatDate(d,"yyyy年MM月dd日HH时mm分ss秒"));
String dataStr="1989-11-02 18:01:41";
Date d2=formatDate(dataStr,"yyyy-MM-dd HH:mm:ss");
System.out.println(formatDate(d2,"yyyy-MM-dd HH:mm:ss"));
}
}
运行结果