Java Can';t不排除小于当前日期的日期
我无法根据每月条款生成每周和每月日期计划Java Can';t不排除小于当前日期的日期,java,date,Java,Date,我无法根据每月条款生成每周和每月日期计划 import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import javax.s
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import com.toedter.calendar.JDateChooser;
import com.toedter.calendar.JMonthChooser;
public class test extends JFrame {
/**
*
*/
private static final long serialVersionUID = 2513170924764415427 L;
private JPanel contentPane;
private JDateChooser dateChooser;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
test frame = new test();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public test() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JMonthChooser monthChooser = new JMonthChooser();
monthChooser.setBounds(41, 45, 94, 20);
contentPane.add(monthChooser);
dateChooser = new JDateChooser();
dateChooser.setDateFormatString("yyyy-MM-dd");
dateChooser.setBounds(41, 108, 242, 30);
contentPane.add(dateChooser);
JButton btnClick = new JButton("CLICK");
btnClick.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
/*Date nextMonth = addDays(dateChooser.getDate(),7);
JOptionPane.showMessageDialog(null,df.format(nextMonth),null, getDefaultCloseOperation());*/
/*JOptionPane.showMessageDialog(null,df.format(setDateofMonth(6)),null, getDefaultCloseOperation());*/
Calendar cal = Calendar.getInstance();
int monthnow = cal.get(Calendar.MONTH);
int yearnow = cal.get(Calendar.YEAR);
int daynow = cal.get(Calendar.DAY_OF_MONTH);
int termspermonth = 4;
int monthlyschedule = 4;
int day1 = 1;
int day2 = 8;
int day3 = 15;
int day4 = 22;
for (int x = 0; x < 4; x++) {
for (int i = 0; i < 31; i++) {
if (i == day1) {
System.out.println(df.format(setDateofMonth(yearnow, monthnow + x + 1, day1)));
}
if (i == day2) {
System.out.println(df.format(setDateofMonth(yearnow, monthnow + x + 1, day2)));
}
if (i == day3) {
System.out.println(df.format(setDateofMonth(yearnow, monthnow + x + 1, day3)));
}
if (i == day4) {
System.out.println(df.format(setDateofMonth(yearnow, monthnow + x + 1, day4)));
}
}
}
}
});
btnClick.setBounds(110, 194, 91, 23);
contentPane.add(btnClick);
}
public static Date setDateofMonth(int year, int month, int day) {
Calendar cal = Calendar.getInstance();
cal.set(year, month - 1, day);
System.out.println(new SimpleDateFormat("MMMM").format(cal.getTime()));
Date date = cal.getTime();
return date;
}
您已从第1天开始循环。
从当前日期开始
for (int x = 0; x < 4; x++) {
for (int i = daynow; i < 31; i++) {
if (i == day1) {
System.out.println(df.format(setDateofMonth(yearnow, monthnow + x + 1, day1)));
}
if (i == day2) {
System.out.println(df.format(setDateofMonth(yearnow, monthnow + x + 1, day2)));
}
if (i == day3) {
System.out.println(df.format(setDateofMonth(yearnow, monthnow + x + 1, day3)));
}
if (i == day4) {
System.out.println(df.format(setDateofMonth(yearnow, monthnow + x + 1, day4)));
}
}
}
for(int x=0;x<4;x++){
for(int i=daynow;i<31;i++){
如果(i==第1天){
System.out.println(df.format(setDateofMonth(dearhow,monthnow+x+1,day1));
}
如果(i==第2天){
System.out.println(df.format(setDateofMonth(dearhow,monthnow+x+1,day2));
}
如果(i==第3天){
System.out.println(df.format(setDateofMonth(dearhow,monthnow+x+1,day3));
}
如果(i==第4天){
System.out.println(df.format(setDateofMonth(dearhow,monthnow+x+1,day4));
}
}
}
您希望从哪个日期开始?应该是这样的:2015年11月11日-2015年12月22日-2015年12月12日-2015年12月12日-2015年12月12日-2016年12月22日-2016年1月12日-2016年1月22日-2016年1月15日-2016年1月01日-2016年2月22日-2016年2月02日-2016年2月15日-2016年2月22日应该在11月开始2015-11-22
for (int x = 0; x < 4; x++) {
for (int i = daynow; i < 31; i++) {
if (i == day1) {
System.out.println(df.format(setDateofMonth(yearnow, monthnow + x + 1, day1)));
}
if (i == day2) {
System.out.println(df.format(setDateofMonth(yearnow, monthnow + x + 1, day2)));
}
if (i == day3) {
System.out.println(df.format(setDateofMonth(yearnow, monthnow + x + 1, day3)));
}
if (i == day4) {
System.out.println(df.format(setDateofMonth(yearnow, monthnow + x + 1, day4)));
}
}
}