Date类java
Date类是jdk给咱们提供的标准日期类,在java.util包下;ide
package m01d02; import java.util.Date; public class TestDate { public static void main(String[] args) { Date date=new Date(); System.out.println(date); } }
输出结果:3d
能够获取当前的时间,年月日时分秒均可以;code
可是咱们发现格式不太符合中国的时间标准;orm
Calendar类对象
Calendar是日历类,也是java.util包下的,功能比较强大,能获取到年月日时分秒的具体值;blog
package m01d02; import java.util.Calendar; public class TestCalendar { public static void main(String[] args) { Calendar calendar=Calendar.getInstance(); System.out.println("如今是:"+calendar.get(Calendar.YEAR)+"年" +(calendar.get(Calendar.MONTH)+1)+"月"//注意这里的月是从0开始计数,因此要+1 +calendar.get(Calendar.DAY_OF_MONTH)+"日" +calendar.get(Calendar.HOUR_OF_DAY)+"时" +calendar.get(Calendar.MINUTE)+"分" +calendar.get(Calendar.SECOND)+"秒"); } }
输出结果:开发
如今是:2019年1月2日9时58分1秒
SimpleDateFormat类字符串
SimpleDateFormat类主要是用做日期类型转换用的,在java.text包下:get
将日期对象转换成字符串;
package m01d02; import java.text.SimpleDateFormat; import java.util.Date; public class TestSimpleDateFormat { public static void main(String[] args) { Date date=new Date(); SimpleDateFormat sdf=new SimpleDateFormat("yyyy.MM.dd HH:mm:ss"); SimpleDateFormat sdf1=new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒"); System.out.println(sdf.format(date)); System.out.println(sdf1.format(date)); } }
能够看到 SimpleDateFormat类的构造方法,直接输出时间;
输出结果:
2019.01.02 10:20:46 2019年01月02日10时20分46秒
里面的时间格式能够改动,具体格式:
在实际开发中,咱们能够将SimpleDateFormat进行功能类的封装:
package m01d02; 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; } public static void main(String[] args) { Date date=new Date(); /*SimpleDateFormat sdf=new SimpleDateFormat("yyyy.MM.dd HH:mm:ss"); System.out.println(sdf.format(date));*/ System.out.println(formatDate(date,"yyyy.MM.dd HH:mm:ss")); System.out.println(formatDate(date,"yyyy-MM-dd")); System.out.println(formatDate(date,"yyyy年MM月dd日HH时mm分ss秒")); } }
咱们将date和format进行封装,输出一个字符串,很是方便;
输出结果:
2019.01.02 15:27:24 2019-01-02 2019年01月02日15时27分24秒
还有一个parse类将字符串对象转换成日期对象;
package m01d02; 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 formatStr(String dateStr,String format) throws ParseException{ SimpleDateFormat sdf=new SimpleDateFormat(format); return sdf.parse(dateStr); } public static void main(String[] args) throws ParseException { Date date=new Date(); /*SimpleDateFormat sdf=new SimpleDateFormat("yyyy.MM.dd HH:mm:ss"); System.out.println(sdf.format(date));*/ System.out.println(formatDate(date,"yyyy.MM.dd HH:mm:ss")); System.out.println(formatDate(date,"yyyy-MM-dd")); System.out.println(formatDate(date,"yyyy年MM月dd日HH时mm分ss秒")); System.out.println("*****************************"); String dateStr="1997.01.05 15:27:24"; //调用formatStr方法,返回一个日期对象 Date date2=formatStr(dateStr,"yyyy.MM.dd HH:mm:ss"); System.out.println(formatDate(date2,"yyyy.MM.dd HH:mm:ss")); } }
输出结果:
2019.01.02 16:10:54 2019-01-02 2019年01月02日16时10分54秒 ***************************** 1997.01.05 15:27:24
能够看到已经将字符串转换成日期对象了