📄 dailyiterator.java
字号:
package com.idoc.timer;
import com.idoc.timer.ScheduleIterator;
import java.util.Date;
import java.util.Calendar;
import com.idoc.util.GetProperty;
import com.idoc.util.Operate;
/**
* <p>Title: IDOC Interface</p>
* <p>Description: IDOC 转换器</p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: SiChuan XinHua</p>
* @author Richary
* @version 1.0
*/
public class DailyIterator
implements ScheduleIterator {
private int hourOfDay, minute, second;
private Calendar calendar = Calendar.getInstance();
private GetProperty getData = null;
private String upSpaceMinute = "";
private String upStarTime = "";
private String upEndTime = "";
private String downSpaceMinute = "";
private String downStarTime = "";
private String downEndTime = "";
public DailyIterator(int hourOfDay, int minute, int second) {
this(hourOfDay, minute, second, new Date());
}
public DailyIterator(int hourOfDay, int minute, int second, Date date) {
getData = new GetProperty();
//getData.g
this.hourOfDay = hourOfDay;
this.minute = minute;
this.second = second;
calendar.setTime(date);
calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.SECOND, second);
calendar.set(Calendar.MILLISECOND, 0);
if (!calendar.getTime().before(date)) {
calendar.add(Calendar.DATE, -1);
}
}
public DailyIterator(Date date, String type) {
getData = new GetProperty();
//getDateType(type);
calendar.setTime(getDateType(type));
//System.out.println("DailyIterator(Date date,String type)");
/*
if (!calendar.getTime().before(date)) {
calendar.add(Calendar.DATE, -1);
}
*/
}
public Date next(String type) {
if (type.equalsIgnoreCase("down")) {
if (!getData.getDownFirst().equalsIgnoreCase("0")) {
calendar.add(Calendar.MINUTE, Integer.valueOf(downSpaceMinute).intValue());
}
else {
getData.setDownFirst("1");
}
if (!downEndTime.equalsIgnoreCase("00:00:00") &&
!downEndTime.equalsIgnoreCase("") &&
calendar.getTime().after(Operate.getStarDate(Operate.getNowDate() +
" " + downEndTime))) {
calendar.setTime(Operate.getStarDate(Operate.getNowDate() + " " +
downStarTime));
calendar.add(Calendar.DATE, 1);
}
}
else {
if (!getData.getUpFirst().equalsIgnoreCase("0")) {
calendar.add(Calendar.MINUTE, Integer.valueOf(upSpaceMinute).intValue());
}
else {
getData.setUpFirst("1");
}
//calendar.add(Calendar.MINUTE, Integer.valueOf(upSpaceMinute).intValue());
if (!upEndTime.equalsIgnoreCase("00:00:00") &&
!upEndTime.equalsIgnoreCase("") &&
calendar.getTime().after(Operate.getStarDate(Operate.getNowDate() +
" " + upEndTime))) {
calendar.setTime(Operate.getStarDate(Operate.getNowDate() + " " +
upStarTime));
calendar.add(Calendar.DATE, 1);
}
}
System.out.println(type + " next : " + calendar.getTime());
return calendar.getTime();
}
public Date getDateType(String type) {
String str = "";
try {
if (type.equalsIgnoreCase("up")) {
upSpaceMinute = getData.getUpSpaceMinute();
if (upSpaceMinute == null || upSpaceMinute.equalsIgnoreCase("")) {
upSpaceMinute = "0";
}
upStarTime = getData.getUpStarTime();
if (upStarTime == null || upStarTime.equalsIgnoreCase("")) {
upStarTime = "00:00:00";
}
upEndTime = getData.getUpEndTime();
if (upEndTime == null || upEndTime.equalsIgnoreCase("")) {
upEndTime = "00:00:00";
}
if (upStarTime.equalsIgnoreCase("00:00:00")) {
return new Date();
}
str = Operate.getNowDate() + " " + upStarTime;
//System.out.println("upSpaceMinute = " + upSpaceMinute);
//System.out.println("up " + upSpaceMinute + " : " + upStarTime + " : " + upEndTime);
}
else if (type.equalsIgnoreCase("down")) {
downSpaceMinute = getData.getDownSpaceMinute();
if (downSpaceMinute == null || downSpaceMinute.equalsIgnoreCase("")) {
downSpaceMinute = "0";
}
downStarTime = getData.getDownStarTime();
if (downStarTime == null || downStarTime.equalsIgnoreCase("")) {
downStarTime = "00:00:00";
}
downEndTime = getData.getDownEndTime();
if (downEndTime == null || downEndTime.equalsIgnoreCase("")) {
downEndTime = "00:00:00";
}
if (downStarTime.equalsIgnoreCase("00:00:00")) {
return new Date();
}
str = Operate.getNowDate() + " " + downStarTime;
}
if (Operate.getStarDate(str).before(new Date())) {
return new Date();
}
// System.out.println("date = " + Operate.getStarDate(str));
return Operate.getStarDate(str);
}
catch (Exception ex) {
System.out.println("DailyIterator's getDateType is Error!");
ex.printStackTrace();
return new Date();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -