java常用类-java日期处理类
Date类
Date类是jdk给我们提高的标准日期类,在java.util包下;
给下示例代码:
package com.java1234.chap05.sec01; import java.util.Date; public class TestDate { public static void main(String[] args) { Date date=new Date(); System.out.println("当前日期:"+date); } }
运行输出:
当前日期:Wed Nov 02 16:54:01 CST 2016
输出了当前日期和时间 但是我们发现 格式不怎么好。
Calendar类
Calendar是日历类,也是java.util包下的,功能比较强大,能获取到年月日时分秒的具体值;
我们给下示例:打印当前日期时间 年月日时分秒:
package com.java1234.chap05.sec01; import java.util.Calendar; public class TestCalendar { public static void main(String[] args) { Calendar calendar=Calendar.getInstance(); System.out.println(calendar.get(Calendar.YEAR)); System.out.println(calendar.get(Calendar.MONTH)+1); // 月份从0开始 要+1 System.out.println("现在是:"+calendar.get(Calendar.YEAR)+"年" +(calendar.get(Calendar.MONTH)+1)+"月" +calendar.get(Calendar.DAY_OF_MONTH)+"日" +calendar.get(Calendar.HOUR_OF_DAY)+"时" +calendar.get(Calendar.MINUTE)+"分" +calendar.get(Calendar.SECOND)+"秒"); } }
运行输出:
2016
11
现在是:2016年11月2日17时15分17秒
SimpleDateFormat类
SimpleDateFormat类主要是用作日期类型转换用的,在java.text包下:
我们写个示例,把日期对象和日期字符串相互转换:
package com.java1234.chap05.sec01; 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 date=new Date(); System.out.println(formatDate(date,"yyyy-MM-dd")); System.out.println(formatDate(date,"yyyy-MM-dd HH:mm:ss")); System.out.println(formatDate(date,"yyyy年MM月dd日HH时mm分ss秒")); String dataStr="1989-11-02 18:01:41"; Date date2=formatDate(dataStr,"yyyy-MM-dd HH:mm:ss"); System.out.println(formatDate(date2,"yyyy-MM-dd HH:mm:ss")); } }
运行输出:
2016-11-02
2016-11-02 18:06:50
2016年11月02日18时06分50秒
1989-11-02 18:01:41