java 6位日期 0001_java基础知识(六)日期处理

public classDateUtil {public final static String FORMAT_19 = "yyyy-MM-dd hh:mm:ss";public final static String FORMAT_10 = "yyyy-MM-dd";public final static String FORMAT_CN_19 = "yyyy年MM月dd日 hh时mm分ss秒";public final static String FORMAT_CN_10 = "yyyy年MM月dd日";/*** 日期转为指定格式*/

public staticString parsDateToString(Date date, String format) {

SimpleDateFormat sdf= newSimpleDateFormat(format);returnsdf.format(date);

}/*** 字符串转换为日期*/

public staticDate parsStringToDate(String formatDate, String format) {

SimpleDateFormat sdf= newSimpleDateFormat(format);

Date date= null;try{

date=sdf.parse(formatDate);

}catch(ParseException e) {

System.out.println("输入日期格式不正确,异常信息:" +e);

}returndate;

}/*** 获得指定日期的前num个月的日期*/

public static Date beforeMonth(Date date, intnum) {

Calendar calendar=Calendar.getInstance();

calendar.setTime(date);

calendar.add(calendar.MONTH, num* -1);

Date dBefore=calendar.getTime();returndBefore;

}private staticCalendar dateToCalendar(Date date) {

Calendar calendar=Calendar.getInstance();

calendar.setTime(date);returncalendar;

}/*** 日期为所在月的第几周*/

public static intweekOfMonth(Date date) {returndateToCalendar(date).get(Calendar.WEEK_OF_MONTH);

}/*** 日期为所在年的第几周*/

public static intweekOfYear(Date date) {returndateToCalendar(date).get(Calendar.WEEK_OF_YEAR);

}/*** 日期为所在年的第几天*/

public static intdayOfYear(Date date) {returndateToCalendar(date).get(Calendar.DAY_OF_YEAR);

}/*** 根据一个时间获取该时间为星期几*/

public staticString dayOfWeek(Date date) {

SimpleDateFormat sdf= new SimpleDateFormat("E");returnsdf.format(date);

}/*** 计算两个时间之间的天数*/

public static intcountDaysBetween(Date d1, Date d2) {

Calendar c1=dateToCalendar(d1);

Calendar c2=dateToCalendar(d2);return Math.abs(Math.abs(c1.get(Calendar.YEAR) - c2.get(Calendar.YEAR)) * 365 + (c1.get(Calendar.DAY_OF_YEAR) -c2.get(Calendar.DAY_OF_YEAR)));

}public static voidmain(String[] args) {

String formatDate= DateUtil.parsDateToString(newDate(), DateUtil.FORMAT_CN_19);

System.out.println("日期转为指定格式 : " +formatDate);

System.out.println("字符串转换为日期 : " +parsStringToDate(formatDate, DateUtil.FORMAT_CN_19));

System.out.println("获得指定日期的前num个月的日期 : " + beforeMonth(new Date(), 3));

System.out.println("日期为所在月的第几周 : " + weekOfMonth(newDate()));

System.out.println("日期为所在年的第几周 : " + weekOfYear(newDate()));

System.out.println("日期为所在年的第几天 : " + dayOfYear(newDate()));

System.out.println("日期是星期几 : " + dayOfWeek(newDate()));

Calendar c=Calendar.getInstance();

c.set(2017, 10, 25);

System.out.println("计算两个时间之间的天数 : " + countDaysBetween(newDate(), c.getTime()));

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值