首页 > 编程 > Java > 正文

Java Calendar使用指南

2019-11-08 18:35:25
字体:
来源:转载
供稿:网友

java Calendar使用指南

@(JAVA)[java]

完整代码请见:https://github.com/lujinhong/lujinhong-commons/tree/master/lujinhong-commons-java/src/main/java/com/lujinhong/commons/java/calendar

1、某个日期的前后多少天是什么日期

//计算某个日期n天前后的日期,并指定打印格式。正值表示向后计算,负数表示向前计算。public static String getBeforeOrAfterDay(String startDay, int dayCount) throws ParseException { SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd"); Calendar calendar = Calendar.getInstance(); Date date = sf.parse(startDay); calendar.setTime(date); calendar.add(calendar.DATE, dayCount); Date day = calendar.getTime(); String returnDay = sf.format(day); return returnDay;}

2、计算某个日期过去N天所有日期的集合

public static String[] getLastDays(String day, int dayCount) throws ParseException { String[] days = new String[dayCount]; for (int i = 0; i < dayCount; i++) { days[i] = getBeforeOrAfterDay(day, -i); } return days;}

3、判断某个日期是星期几

public static int getWeekDay(String day) throws ParseException { SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd"); Calendar calendar = Calendar.getInstance(); Date date = sf.parse(day); calendar.setTime(date); //注意1:星期天,2:星期一.....7:星期六 return calendar.get(Calendar.DAY_OF_WEEK);}

4、判断是否周末

//判断某个日期是否工作日,星期六及星期天为非工作日,其余为工作日。返回值1:工作日,0:休息日。public static String getWorkDay(String day){ int weekDay = 0; try { weekDay = getWeekDay(day); } catch (ParseException e) { e.PRintStackTrace(); } if (weekDay == Calendar.SATURDAY || weekDay == Calendar.SUNDAY) { return "0"; } else { return "1"; }}

5、判断是否白天

//判断某个时间是否工作时间。10:00~17:00为工作时间,21:00~06:00为休息时间。输入值为小时。返回值1:工作时间,0:休息时间,-1:其它时间。public static String getWorkTime(String time){ int hour = Integer.parseInt(time); if(hour>=10 && hour<=16){ return "1"; }else if((hour>=0 && hour<=5) || (hour>=21 && hour<=23)){ return "0"; }else { return "-1"; }}

6、打印当前时间

public static void printCurrentTime(){ System.out.println(Calendar.getInstance().getTime());//Thu Feb 16 18:55:56 CST 2017}public static void main(String[] args) throws ParseException { System.out.println(getBeforeOrAfterDay("20170201", -1)); System.out.println(getWeekDay("20170216")); System.out.println(Arrays.toString(getLastDays("20170216", 30))); printCurrentTime();}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表