我想做的事情如下:
Date date = new Date(); // current date
date = date - 300; // substract 300 days from current date and I want to use this "date"
Run Code Online (Sandbox Code Playgroud)
怎么做?
如何在Java中将当前日期添加到工作日?
public Calendar addBusinessDate(Calendar cal, int days) {
//
// code goes over here
//
}
Run Code Online (Sandbox Code Playgroud)
它也应该考虑周末.
是否可以将工作日添加到joda时间?
例如,如果当前日期是01/03周五,则日期+ 1应该返回04/03周一,而不是02/03.
我需要实现一个能够计算工作日,当然还有自然日的劳动日历。日历必须能够处理国家假日,并且这些日期必须由用户提交。因此,如果我需要计算两天之间的差异,则计数必须忽略周六、周日和节假日。
Java 类Calendar不处理假期或工作日,所以我需要自己制作。我想到了两种可能的方法:
我可以实现一个新Day类,它有一个布尔值isHoliday来检查这是否是工作日,然后使用我需要处理/计算天数的所有方法创建一个新类。
我对这种方法的疑问是如何存储它。这意味着要创建 365 个对象并将它们存储在Listor中Linked List,这需要处理大量数据。
我的第二个想法是让它变得更简单。创建一个数组Strings或日期来存储假期。示例new ArrayList<String> freeDays = ["01/01/2019", "05/01/2019", "06/01/2019"...]并使用新的 CalendarUtils 类或类似的东西来处理它。
对我来说,第一个选项看起来更好,但是,我不想浪费内存或使用不好的做法。
哪个选项看起来更好?还有第三种选择吗?
我想转换Tue Jun 01 00:00:00 IST 112成01-JUN-2012
我用了
Calendar calendar = new GregorianCalendar(year, 6, Calendar.DAY_OF_MONTH);
Date maxDate=new Date();
maxDate=calendar.getTime();
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
SimpleDateFormat s=new SimpleDateFormat("dd-mmm-yyyy");
s.format(maxDate);
Run Code Online (Sandbox Code Playgroud)
但我明白了 30-000-0112