📄 datecontrol.java
字号:
*/
public static boolean before5(int startYear, int startMonth, int startDay, int startHour, int startMinute,
int endYear, int endMonth, int endDay, int endHour, int endMinute)
{
GregorianCalendar gc1 = new GregorianCalendar(startYear, startMonth, startDay, startHour, startMinute);
GregorianCalendar gc2 = new GregorianCalendar(endYear, endMonth, endDay, endHour, endMinute);
if( gc2.after(gc1) )
return true;
else
return false;
}
/**判断给出的两个日期组合的前后是否正确
* @author 刘凯
* @param startYear 起始年
* @param startMonth 起始月
* @param startDay 起始日
* @param endYear 终止年
* @param endMonth 终止月
* @param endDay 终止日
* @return 若时间组合顺序正确,返回 true; 否则返回 false;
*/
public static boolean before3(int startYear, int startMonth, int startDay,
int endYear, int endMonth, int endDay)
{
GregorianCalendar gc1 = new GregorianCalendar(startYear, startMonth, startDay);
GregorianCalendar gc2 = new GregorianCalendar(endYear, endMonth, endDay);
if( gc2.after(gc1) )
return true;
else
return false;
}
/**判断给出的两个日期的先后是否正确.使用默认的格式进行时间的判断,格式:年-月-日
* @author 刘凯
* @param startTime 起始日期
* @param endTime 终止日期
* @return 若时间顺序正确,返回 true; 否则返回 false;
*/
public static boolean beforeStr(String startTime, String endTime)
{
SimpleDateFormat formatter = new SimpleDateFormat(FORMAT1);
try
{
Date date1 = formatter.parse(startTime);
Date date2 = formatter.parse(endTime);
if( date2.after(date1) )
return true;
else
return false;
}
catch(ParseException pe)
{
return false;
}
}
/**判断给出的两个日期的先后是否正确.方法要求指定格式 format, 根据该参数可进行各种时间格式的
*判断<br>
* @author 刘凯
* @param startTime 起始日期
* @param endTime 终止日期
* @param format 时间格式
* @return 若时间顺序正确,返回 true; 否则返回 false;
*/
public static boolean beforeStr(String startTime, String endTime, String format)
{
SimpleDateFormat formatter = new SimpleDateFormat(format);
try
{
Date date1 = formatter.parse(startTime);
Date date2 = formatter.parse(endTime);
if( date2.after(date1) )
return true;
else
return false;
}
catch(ParseException pe)
{
return false;
}
}
/**获得本月月初时间
* @author 龚毅
* @return 本月月初的时间,格式:年-月-日
*/
public static String getCurrentMonthStart()
{
SimpleDateFormat formatter = new SimpleDateFormat(FORMAT1);
GregorianCalendar gregorianCalendar = new GregorianCalendar();
gregorianCalendar.set(GregorianCalendar.DAY_OF_MONTH,1);
String monthStart = formatter.format(gregorianCalendar.getTime());
return monthStart;
}
/**获得本月月末时间
* @author 刘凯
* @return 本月月末的时间,格式:年-月-日
*/
public static String getCurrentMonthEnd()
{
SimpleDateFormat formatter = new SimpleDateFormat(FORMAT1);
GregorianCalendar gregorianCalendar = new GregorianCalendar();
int maxiumDay = gregorianCalendar.getActualMaximum(GregorianCalendar.DAY_OF_MONTH);
gregorianCalendar.set(GregorianCalendar.DAY_OF_MONTH, maxiumDay);
String monthEnd = formatter.format(gregorianCalendar.getTime());
return monthEnd;
}
/**
* 获得本周初时间
*/
public static String getCurrentWeekStart()
{
SimpleDateFormat formatter = new SimpleDateFormat(FORMAT1);
GregorianCalendar gregorianCalendar = new GregorianCalendar();
gregorianCalendar.set(GregorianCalendar.DAY_OF_WEEK,2); //按中国人习惯以周一作为开始
String monthStart = formatter.format(gregorianCalendar.getTime());
return monthStart;
}
/**
* 获得本周末的时间
*/
public static String getCurrentWeekEnd()
{
SimpleDateFormat formatter = new SimpleDateFormat(FORMAT1);
GregorianCalendar gregorianCalendar = new GregorianCalendar();
int maxiumDay = gregorianCalendar.getActualMaximum(GregorianCalendar.DAY_OF_WEEK);
maxiumDay--; //按工作日习惯以周五作为结束
gregorianCalendar.set(GregorianCalendar.DAY_OF_WEEK, maxiumDay);
String weekEnd = formatter.format(gregorianCalendar.getTime());
return weekEnd;
}
/**返回当天的起始时间
* @author 刘团伟
* @return 当天起始时间字符串
*/
public static String getTodayStart()
{
GregorianCalendar gregorianCalendar = new GregorianCalendar();
String datetime = gregorianCalendar.get(GregorianCalendar.YEAR) + "-" +
( gregorianCalendar.get(GregorianCalendar.MONTH) + 1 ) + "-" +
gregorianCalendar.get(GregorianCalendar.DATE) + " " +
"0:0:0";
return datetime;
}
/**返回当天的终止时间
* @author 刘团伟
* @return 当天终止时间字符串
*/
public static String getTodayEnd()
{
GregorianCalendar gregorianCalendar = new GregorianCalendar();
String datetime = gregorianCalendar.get(GregorianCalendar.YEAR) + "-" +
( gregorianCalendar.get(GregorianCalendar.MONTH) + 1 ) + "-" +
gregorianCalendar.get(GregorianCalendar.DATE) + " " +
"23:59:59";
return datetime;
}
public static String format(Date date)
{
String temp="";
if(date==null) return temp;
try
{
temp=new java.text.SimpleDateFormat(FORMAT1).format(date);
}
catch(Exception e)
{
return temp;
}
return temp;
}
public static String format(GregorianCalendar gregorianCalendar)
{
String temp="";
if(gregorianCalendar==null) return temp;
Date date=gregorianCalendar.getTime();
try
{
temp = new java.text.SimpleDateFormat(FORMAT1).format(date);
}
catch(Exception e)
{
return temp;
}
return temp;
}
public static String format(Date date,String format)
{
String temp="";
if(date==null) return temp;
try
{
temp=new java.text.SimpleDateFormat(format).format(date);
}
catch(Exception e)
{
return temp;
}
return temp;
}
public static String format(GregorianCalendar gregorianCalendar, String format)
{
String temp="";
if(gregorianCalendar==null) return temp;
Date date=gregorianCalendar.getTime();
try
{
temp = new java.text.SimpleDateFormat(format).format(date);
}
catch(Exception e)
{
return temp;
}
return temp;
}
public static String getDayBefore(String date)
{
String [] dates = date.split("-");
SimpleDateFormat formatter = new SimpleDateFormat(FORMAT1);
GregorianCalendar calendar = new GregorianCalendar(
Integer.parseInt( dates[0] ),
Integer.parseInt( dates[1] )-1,
Integer.parseInt( dates[2] )-1);
return formatter.format(calendar.getTime());
}
public static String getFormatDate(String date)
{
date = date.substring(0, date.indexOf(" ") );
String [] dates = date.split("-");
SimpleDateFormat formatter = new SimpleDateFormat(FORMAT1);
GregorianCalendar calendar = new GregorianCalendar(
Integer.parseInt( dates[0] ),
Integer.parseInt( dates[1] )-1,
Integer.parseInt( dates[2] ));
return formatter.format(calendar.getTime());
}
/**
* 给定一个字符串,获得指定日期。指定日期格式为:年-月-日。
* @param String date
* 返回值为 日期型
* 作者: 邢杰
*/
public static Date getDateFromStr(String date){
boolean flag=isLegalDate(date);
SimpleDateFormat formatter = new SimpleDateFormat(FORMAT1);
if(flag){
try {
Date date1=formatter.parse(date);
return date1;
}
catch (ParseException ex) {
return new Date(0,0,01);
}
}
return new Date(0,0,01);
}
/**
*给定一个字符串,获得指定日期。指定日期格式为:年-月-日 小时:分钟:秒。
* @param String datetime
* 返回值 Date型
* 作者: 邢杰
*/
public static Date getDateTimeFromStr(String datetime){
boolean flag=isLegalDatetime(datetime);
SimpleDateFormat formatter = new SimpleDateFormat(FORMAT4);
if(flag){
try {
Date date1=formatter.parse(datetime);
return date1;
}
catch (ParseException ex) {
return new Date(0,0,1);
}
}
return new Date(0,0,1);
}
/**
* 获得当前日期中的时间部分,格式为:年-月-日 小时:分钟:秒。
* @param 无
* 返回值 字符串型
* 作者: 邢杰
*/
public static String getCurrentTime(){
String datetime=getCurrentDate(FORMAT7);
String time=datetime.substring(datetime.indexOf(" ")+1) ;
return time;
}
//
/**
* 给出两个日期,结果返回在这两个日期之间的所有日期。两个参数的时间必须是 带 小时分秒的
* 例如:2004-9-6 0:00:00
* @param 无
* 返回值 字符串型
* 作者: 黄绪涛
*/
public Vector getTimeSect(String format,String format1)
{
Date date = new Date();
date = getDateTimeFromStr(format);
long longDate = date.getTime();
Date date1 = new Date();
date1 = getDateTimeFromStr(format1);
long longDate1 = date1.getTime();
Vector vector = new Vector();
if (longDate < longDate1) {
long c = (longDate1 - longDate) / (24*60* 60 * 1000);
int b = Integer.parseInt(c + "");
String[] str = new String[b + 1];
for (int i = 0; i <= b; i++) {
if (i == 0) {
longDate = longDate;
}
else {
longDate = longDate + ( 24*60*60 * 1000);
}
date.setTime(longDate);
String TimeSect = format(date, FORMAT1);
// str[i] = TimeSect;
String str5=TimeSect;
vector.add(str5);
}
}else{
if (format.trim().equals(format1.trim())) {
String d = format(date, FORMAT1);
vector.addElement(d);
}
}
return vector;
}
/**
* 给出两个日期,结果返回在这两个日期之间的所有日期和小时数。两个参数的时间必须是 带 小时分秒的
* 例如:2004-9-6 0:00:00
* @param String format 开始的时间 2004-9-6 0:00:00
* @param String format1 结束的时间 2004-9-7 0:00:00
* @param int bhour 开始的小时 0-23之间的数字‘
* @param int ehour 结束的小时 0-23之间的数字
* 返回值 字符串型
* 作者: 黄绪涛
*/
public Vector getTimeSect(String format,String format1,int bhour,int ehour)
{
Date date = new Date();
date = getDateTimeFromStr(format);
long longDate = date.getTime();
Date date1 = new Date();
date1 = getDateTimeFromStr(format1);
long longDate1 = date1.getTime();
Vector vector = new Vector();
Vector vec=new Vector();
if (longDate < longDate1) {
long c = (longDate1 - longDate) / (24*60* 60 * 1000);
int b = Integer.parseInt(c + "");
String[] str = new String[b + 1];
for (int i = 0; i <= b; i++) {
if (i == 0) {
longDate = longDate;
}
else {
longDate = longDate + ( 24*60*60 * 1000);
}
date.setTime(longDate);
String TimeSect = format(date, FORMAT1);
// str[i] = TimeSect;
// String str5=TimeSect;
// System.out.println("TimeSect:="+TimeSect);
vector.add(TimeSect);
}
if(format.trim().equals(format1.trim())){
String d = (String) vector.get(0);
for (int i = bhour; i < ehour; i++) {
String time=d+" "+i+":00";
vec.addElement(time);
}
}else{
for (int i = 0; i < vector.size(); i++) {
String d = (String) vector.get(i);
if(i==0){
for (int a =bhour; a < 24; a++) {
String time=d+" "+a+":00";
vec.addElement(time);
}
}else if (i == vector.size()-1) {
for (int a = 0; a <=ehour; a++) {
String time = "";
if (a == 0) time = d + " " + "0:00";
else
time = d + " " + a + ":00";
vec.addElement(time);
}
}
else {
for (int a = 0; a < 24; a++) {
String time = "";
if (a == 0) time = d + " " + "0:00";
else
time = d + " " + a + ":00";
vec.addElement(time);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -