import java.text.DateFormat;
创新互联公司专注于秀屿网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供秀屿营销型网站建设,秀屿网站制作、秀屿网页设计、秀屿网站官网定制、成都小程序开发服务,打造秀屿网络公司原创品牌,更为您提供秀屿网站排名全网营销落地服务。
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.SimpleFormatter;
public class DateTest {
/**
* 判断是否在同一个月
* @param startDate yyyy-MM-dd
* @param endDate yyyy-MM-dd
* @return false:不在同一个月内,true在同一个月内
*/
public static boolean isMonth(String startDate,String endDate){
if(margin(startDate, endDate)31){
return false;
}
int startMonth = Integer.parseInt(startDate.substring(5, 7));
int endMonth = Integer.parseInt(endDate.substring(5, 7));
if(startMonth==endMonth){
return true;
}else{
return false;
}
}
/**
* 计算开始日期和结束日期差
* @param startDate yyyy-MM-dd
* @param endDate yyyy-MM-dd
* @return
*/
private static int margin(String startDate,String endDate){
ParsePosition pos = new ParsePosition(0);
ParsePosition pos2 = new ParsePosition(0);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date ds = sdf.parse(startDate, pos);
Date de = sdf.parse(endDate, pos2);
long l = de.getTime()-ds.getTime();
int margin = (int)(l/24*60*60*1000);
return margin;
}
/**
* main方法测试
* @param args
*/
public static void main(String[] args) {
System.out.println(DateTest.isMonth("2014-10-17", "2014-10-25"));
System.out.println(DateTest.isMonth("2014-10-17", "2014-12-25"));
}
}
static public boolean isValidDate(
int year, int mon, int day,
short year_min,short year_max,
StringBuffer msg)
{
if(yearyear_min || yearyear_max)
{
msg.append("年份必须在("+
year_min+"~"+year_max+
")之间,输入值("+year+")无效\n");
return false;
}else if(mon1 || mon12){
msg.append("月份必须在(1~12)之间,输入值("+mon+")无效\n");
return false;
}else if(day1 || day31){
msg.append("日号必须在(1~31)之间,输入值("+day+")无效\n");
return false;
}else if(mon==2){
if(isLeapYear(year) day29){
msg.append("闰年的闰二月日号必须在(1~29)之间,"+year+"是闰年,输入值("+day+")无效\n");
return false;
}else if(day28){
msg.append("非闰年的闰二月的日号必须在(1~28)之间,"+year+"不是闰年,输入值("+day+")无效\n");
return false;
}
}
return true;
}
//闰年
static public boolean isLeapYear(int year){
return (year%4==0 year%100!=0)|| year%400==0;
}
给您写了一遍。
代码:
package demo;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
*
* 开发公司:SOJSON在线工具 p
* 版权所有:©
* 博客地址:
* p
*
* 注释写这里
*
* p
*
* 区分 责任人 日期说明br/
* 创建 周柏成 2017年4月18日 br/
*
* @author zhou-baicheng
* @email so@sojson.com
* @version 1.0,2017年4月18日 br/
*
*/
public class Main {
public static void main(String[] args) {
//调用
boolean result = isNow(new Date());
System.out.println( result?"是今天。":"不是今天。" );
}
/**
* 判断时间是不是今天
* @param date
* @return 是返回true,不是返回false
*/
private static boolean isNow(Date date) {
//当前时间
Date now = new Date();
SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd");
//获取今天的日期
String nowDay = sf.format(now);
//对比的时间
String day = sf.format(date);
return day.equals(nowDay);
}
}
有,如果正确函数返回一个boolean型的true;相反则返回一个false;代码如下:
public static boolean isValidDate(String sDate) {
String datePattern1 = "\d{4}-\d{2}-\d{2}";
String datePattern2 = "^((\d{2}(([02468][048])|([13579][26]))"
+ "[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|"
+ "(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?"
+ "((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?("
+ "(((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?"
+ "((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))";
if ((sDate != null)) {
Pattern pattern = Pattern.compile(datePattern1);
Matcher match = pattern.matcher(sDate);
if (match.matches()) {
pattern = Pattern.compile(datePattern2);
match = pattern.matcher(sDate);
return match.matches();
}
else {
return false;
}
}
return false;
}