在Java

时间:2016-11-17 11:18:15

标签: java date calendar

我正在尝试让我的日历以dd / MM / yyyy格式打印它的日期,但它似乎不起作用。

我的代码是:

SimpleDateFormat form = new SimpleDateFormat("dd/MM/yy", Locale.ENGLISH);
Date now = new Date("19/11/16");
form.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(form.format(now));
Calendar cal = Calendar.getInstance();
cal.setTime(now);
System.out.println(cal.get((Calendar.DAY_OF_WEEK)));

if(cal.get((Calendar.DAY_OF_WEEK)) < 7 || cal.get((Calendar.DAY_OF_WEEK)) > 1) {
     System.out.println("It's a weekday"); 
}
else {
     System.out.println("It's a weekend");
} 

输出是:

  

10/07/17

     

3

     

这是一个工作日

有人能发现这个问题吗?

1 个答案:

答案 0 :(得分:3)

您正在调用的Date构造函数正在创建包含错误字段的Date,以使用您的格式解析Date来初始化String。像

Date now = form.parse("19/11/16");

确保捕获(或重新抛出)ParseException。有了这两个变化,我就得到了

19/11/16
7
It's a weekday