Java对日期的处置小结
Java对日期的处理小结
先是写一个工具类,完成由Date-->String,String-->Date,Date-->Calendar,Calendar-->Date
的转化,并在此基础上衍生出Calendar-->String,String-->Calendar。至此便可以完成一般的对日期的操作(由String类型的传进去交由Calendar处理)然后再输出显示按照预期想要的格式的处理后的日期
(一)DateUtils.java
在此基础上完成几个小操作
//根據任意一個日期得到它所在的星期
调用以上三个函数输出结果:
3
2011-04-06
2010-04-04
先是写一个工具类,完成由Date-->String,String-->Date,Date-->Calendar,Calendar-->Date
的转化,并在此基础上衍生出Calendar-->String,String-->Calendar。至此便可以完成一般的对日期的操作(由String类型的传进去交由Calendar处理)然后再输出显示按照预期想要的格式的处理后的日期
(一)DateUtils.java
package cn.ldc.baseskill.date; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; /** * @author : Tony * @createTime :2011-4-6 下午08:37:08 * @class_name :DateUtils.java */ public class DateUtils { //Date -->String private static String dateToString(Date date,String format){ SimpleDateFormat sdf = new SimpleDateFormat(format); return sdf.format(date); } //String --->Date private static Date stringToDate(String source,String format){ SimpleDateFormat sdf = new SimpleDateFormat(format); try { return sdf.parse(source); } catch (ParseException e) { e.printStackTrace(); } return null; } //Date-->Calendar private static Calendar dateToCalendar(Date date){ GregorianCalendar cal = new GregorianCalendar(); cal.setTime(date); return cal; } //Calendar-->Date private static Date calendarToDate(Calendar cal){ return cal.getTime(); } //Calendar --> String 用於計算結束后的顯示 static String calendarToString(Calendar cal,String format){ return dateToString(calendarToDate(cal),format); } //String -->Calendar 用於計算 static Calendar stringToCalendar(String source,String format){ return dateToCalendar(stringToDate(source,format)); } }
在此基础上完成几个小操作
//根據任意一個日期得到它所在的星期
static int getWeek(String source,String format) throws ParseException{ Calendar cal = DateUtils.stringToCalendar(source, format); return cal.get(Calendar.DAY_OF_WEEK)-1; } //今天N天以後的那一天的日期 static String getDay(int n){ Calendar cal = Calendar.getInstance(); return DateUtils.calendarToString(cal, "yyyy-MM-dd"); } //获得距离指定日期n天前或后的那一天的日期 static String getSomeDay(String source,String format,int amount){ Calendar cal = DateUtils.stringToCalendar(source, format); cal.add(Calendar.DATE, amount); return DateUtils.calendarToString(cal, format); }
调用以上三个函数输出结果:
3
2011-04-06
2010-04-04