java日历代码(用Java写一个带有窗体的日历)
- 软件开发
- 2023-09-18
- 145
今天给各位分享java日历代码的知识,其中也会对用Java写一个带有窗体的日历进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!java中,知道结束...
今天给各位分享java日历代码的知识,其中也会对用Java写一个带有窗体的日历进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
java中,知道结束日期
可以通过日期的add(Calendar.MONTH,1)方法进行月份切换,输出每个满足条件的值
Dated1=newSimpleDateFormat("yyyy-MM").parse("2015-6");//定义起始日期
Dated2=newSimpleDateFormat("yyyy-MM").parse("2016-5");//定义结束日期
Calendardd=Calendar.getInstance();//定义日期实例
dd.setTime(d1);//设置日期起始时间
while(dd.getTime().before(d2)){//判断是否到结束日期
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM");
Stringstr=sdf.format(dd.getTime());
System.out.println(str);//输出日期结果
dd.add(Calendar.MONTH,1);//进行当前日期月份加1
}
结果:
java怎么判断两个日期是否相等
方法一:把日期转成string类型的,然后compare;比如:stringtime1,time2;time1.compareTo(time2)>0说明time1是time2之后的时间方法二:date的gettime进行比较下面的代码细细看看,您应该能看懂
Java日期工具类
Java日期工具类:可以进行日期转化、今天日期、昨天日期、明天日期、指定日期,非常实用。
想必程序员在开发过程中,遇到日期转化肯定避免不了的。它让人爱恨不已,而有些又记不住,每次遇到都得问度娘。我最近在开发过程中亦是如此。
为了让自己更好的记忆,方便以后遇到日期类型转化相关开发。因此,自己作了适当的整理,编写了一个Java日期工具类,包括获得今天日期、昨天日期、明天日期、日期和字符串之间转化等相关转化。希望这个日期工具类,也能提高你对日期转化的开发效率。
日期工具类:DateTools.java
packagecom.geshanzsq;
importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
importjava.util.Date;
importjava.util.GregorianCalendar;
/**
*日期工具类
*@author格姗知识圈
*/
publicclassDateTools{
/**
*日期转化为指定日期格式类型
*@paramdate日期
*@parampattern日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日HH:mm:ss
*@return
*/
publicstaticStringdateToString(Datedate,Stringpattern){
SimpleDateFormatsdf=newSimpleDateFormat(pattern);//日期格式
Stringdate_str=sdf.format(date);//日期转化为指定格式
returndate_str;
}
/**
*日期字符串转化为指定日期格式类型
*@paramdate_str日期字符串
*@parampattern日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日HH:mm:ss
*@return
*@throwsParseException
*/
publicstaticDatestringToDate(Stringdate_str,Stringpattern)throwsParseException{
SimpleDateFormatsdf=newSimpleDateFormat(pattern);//日期格式
Datedate=sdf.parse(date_str);//日期转化为指定格式
returndate;
}
/**
*获得今天日期
*@parampattern日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日HH:mm:ss
*@return
*/
publicstaticStringgetToday(Stringpattern){
Datedate=newDate();//今天日期
SimpleDateFormatsdf=newSimpleDateFormat(pattern);//日期格式
Stringtoday=sdf.format(date);//日期转化为指定格式
returntoday;
}
/**
*获得明天日期
*@parampattern日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日HH:mm:ss
*@return
*/
publicstaticStringgetTomorrow(Stringpattern){
Datedate=newDate();//今天日期
Calendarcal=newGregorianCalendar();
cal.setTime(date);//设置时间
cal.add(Calendar.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动
date=cal.getTime();//这个时间就是日期往后推一天的日期结果,即明天日期
SimpleDateFormatsdf=newSimpleDateFormat(pattern);//日期格式
Stringtommorrow=sdf.format(date);//明天日期
returntommorrow;
}
/**
*获得昨天日期
*@parampattern日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日HH:mm:ss
*@return
*/
publicstaticStringgetYesterday(Stringpattern){
Datedate=newDate();//今天日期
Calendarcal=newGregorianCalendar();
cal.setTime(date);//设置时间
cal.add(Calendar.DATE,-1);//把日期往后增加一天.整数往后推,负数往前移动
date=cal.getTime();//这个时间就是日期往前推一天的日期结果,即昨天日期
SimpleDateFormatsdf=newSimpleDateFormat(pattern);//日期格式
Stringyesterday=sdf.format(date);//昨天日期
returnyesterday;
}
/**
*获得指定日期的后一天
*@paramdate指定日期
*@parampattern日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日HH:mm:ss
*@return
*@throwsParseException
*/
publicstaticDategetAfterDay(Datedate,Stringpattern)throwsParseException{
Calendarcal=newGregorianCalendar();
cal.setTime(date);//设置时间
cal.add(Calendar.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动
date=cal.getTime();//这个时间就是日期往后推一天的日期结果,即后一天日期
SimpleDateFormatsdf=newSimpleDateFormat(pattern);//日期格式
Stringnext_date_str=sdf.format(date);//后一天日期
//将日期字符串转化为指定日期格式类型
Dateafter_date=stringToDate(next_date_str,pattern);
returnafter_date;
}
/**
*获得指定日期的后一天
*@paramdate_str指定日期字符串
*@parampattern日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日HH:mm:ss
*@return
*@throwsParseException
*/
publicstaticStringgetAfterDay(Stringdate_str,Stringpattern)throwsParseException{
//将日期字符串转化为指定日期格式类型
Datedate=stringToDate(date_str,pattern);
Calendarcal=newGregorianCalendar();
cal.setTime(date);//设置时间
cal.add(Calendar.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动
date=cal.getTime();//这个时间就是日期往后推一天的日期结果,即后一天日期
SimpleDateFormatsdf=newSimpleDateFormat(pattern);//日期格式
Stringafter_date_str=sdf.format(date);//后一天日期
returnafter_date_str;
}
/**
*获得指定日期的前一天
*@paramdate指定日期
*@parampattern日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日HH:mm:ss
*@return
*@throwsParseException
*/
publicstaticDategetBeforetDay(Datedate,Stringpattern)throwsParseException{
Calendarcal=newGregorianCalendar();
cal.setTime(date);//设置时间
cal.add(Calendar.DATE,-1);//把日期往后增加一天.整数往后推,负数往前移动
date=cal.getTime();//这个时间就是日期往后推一天的日期结果,即前一天日期
SimpleDateFormatsdf=newSimpleDateFormat(pattern);//日期格式
Stringbefore_date_str=sdf.format(date);//前一天日期
//将日期字符串转化为指定日期格式类型
Datebefore_date=stringToDate(before_date_str,pattern);
returnbefore_date;
}
/**
*获得指定日期的前一天
*@paramdate_str指定日期字符串
*@parampattern日期格式类型,如yyyy-MM-dd,yyyy年MM月dd日HH:mm:ss
*@return
*@throwsParseException
*/
publicstaticStringgetBreforeDay(Stringdate_str,Stringpattern)throwsParseException{
//将日期字符串转化为指定日期格式类型
Datedate=stringToDate(date_str,pattern);
Calendarcal=newGregorianCalendar();
cal.setTime(date);//设置时间
cal.add(Calendar.DATE,-1);//把日期往后增加一天.整数往后推,负数往前移动
date=cal.getTime();//这个时间就是日期往后推一天的日期结果,即前一天日期
SimpleDateFormatsdf=newSimpleDateFormat(pattern);//日期格式
Stringbefore_date_str=sdf.format(date);//前一天日期
returnbefore_date_str;
}
}
测试类:Test.java
packagecom.hrg;
importjava.text.ParseException;
/**
*测试类
*@author格姗知识圈
*/
publicclassTest{
publicstaticvoidmain(String[]args)throwsParseException{
//日期格式类型
Stringpattern="yyyy-MM-dd";
//获得今天日期
System.out.println("---------获得今天日期---------");
Stringtoday=DateTools.getToday(pattern);
System.out.println("今天日期:"+today);
//获得明天日期
System.out.println("---------获得明天日期---------");
Stringtomorrow=DateTools.getTomorrow(pattern);
System.out.println("明天日期:"+tomorrow);
//获得昨天日期
System.out.println("---------获得昨天日期---------");
Stringyesterday=DateTools.getYesterday(pattern);
System.out.println("昨天日期:"+yesterday);
//获得指定日期的后一天
System.out.println("---------获得指定日期的后一天---------");
Stringdate_str="2018-10-03";
System.out.println("指定日期:"+date_str);
Stringafter_date=DateTools.getAfterDay(date_str,pattern);
System.out.println("指定日期的后一天:"+after_date);
//获得指定日期的后一天
System.out.println("---------获得指定日期的前一天---------");
System.out.println("指定日期:"+date_str);
Stringbefore_date=DateTools.getBreforeDay(date_str,pattern);
System.out.println("指定日期的前一天:"+before_date);
}
}
运行结果:
---------获得今天日期---------
今天日期:2018-11-20
---------获得明天日期---------
明天日期:2018-11-21
---------获得昨天日期---------
昨天日期:2018-11-19
---------获得指定日期的后一天---------
指定日期:2018-10-03
指定日期的后一天:2018-10-04
---------获得指定日期的前一天---------
指定日期:2018-10-03
指定日期的前一天:2018-10-02
你看完之后,相信对日期转化有了更好的了解。当然,代码里面有部分是冗余的,主要是为了方便让大家清晰看懂。你看懂理解后,可以根据业务需要进行适当的修改。
求助!如何在java代码中,将日期插入mysql数据库(对应字段类型是datetime),用JDBC连接数据库
java.util.Datedate=newSimpleDateFormat("yyyy-MM-ddhh:mm:ss").parse(newSimpleDateFormat("yyyy-MM-ddhh:mm:ss").format(newDate()))
;//获取系统时间java.sql.Timestampdate1=newjava.sql.Timestamp(date.getTime())
;//把java.util.Date类型转换为java.sql.Timestamp类型最后用setTimestamp();方法就可以插入到mysql数据库中了
java语言中的date类及方法的用法
一、Date类型的初始化
1、Date(intyear,intmonth,intdate);直接写入年份是得不到正确的结果的。因为java中Date是从1900年开始算的,所以前面的第一个参数只要填入从1900年后过了多少年就是你想要得到的年份。月需要减1,日可以直接插入。这种方法用的比较少,常用的是第二种方法。
2、这种方法是将一个符合特定格式,比如yyyy-MM-dd,的字符串转化成为Date类型的数据。首先,定义一个Date类型的对象Datedate=null;再定义一个String类型的符合格式的字符串StringdateStr="2010-9-10";把这个字符串进行拆分String[]dateDivide=dateStr.split("-");把年月日分别取出,赋给Calendar,用Calendar的getTime();取得日期再赋给date。
importjava.util.Calendar;
importjava.util.Date;
publicclassMain4{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
Datedate=null;
StringdateStr="2010-9-10";
String[]dateDivide=dateStr.split("-");
if(dateDivide.length==3){
intyear=Integer.parseInt(dateDivide[0].trim());//去掉空格
intmonth=Integer.parseInt(dateDivide[1].trim());
intday=Integer.parseInt(dateDivide[2].trim());
Calendarc=Calendar.getInstance();//获取一个日历实例
c.set(year,month-1,day);//设定日历的日期
date=c.getTime();
}
System.out.println(date);
}
}
二、Date类型的比较
Datea;
Dateb;
假设现在你已经实例化了a和b
a.after(b)返回一个boolean,如果a的时间在b之后(不包括等于)返回true
b.before(a)返回一个boolean,如果b的时间在a之前(不包括等于)返回true
a.equals(b)返回一个boolean,如果a的时间和b相等返回true
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
importjava.util.Date;
publicclassMain4{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//Datedate=null;
//StringdateStr="2010-9-10";
//String[]dateDivide=dateStr.split("-");
//if(dateDivide.length==3){
//intyear=Integer.parseInt(dateDivide[0].trim());//去掉空格
//intmonth=Integer.parseInt(dateDivide[1].trim());
//intday=Integer.parseInt(dateDivide[2].trim());
//Calendarc=Calendar.getInstance();//获取一个日历实例
//c.set(year,month-1,day);//设定日历的日期
//date=c.getTime();
//}
//System.out.println(date);
//Date类型常用的操作函数
//1.-----计算某一个月份的最大天数
Calendarcalendar=Calendar.getInstance();
//使用set方法之前必须先clear一下,否则很多信息会继承自系统当前时间
//calendar.clear();
//calendar.set(Calendar.YEAR,2018);
//calendar.set(Calendar.MONTH,3-1);
//intday=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
//2.------Calendar和Date的转化
//-----Calendar转化为Date--
Datedate=calendar.getTime();
System.out.println(date);//SatMar2411:39:55CST2018
//-----Date转化为Calendar--
Datedate1=newDate();
Calendarcalendar1=Calendar.getInstance();
calendar1.setTime(date1);
//3.----计算一年中的第几星期是几号
SimpleDateFormatdf=newSimpleDateFormat();
Calendarcalen=Calendar.getInstance();
calen.set(Calendar.YEAR,2018);
calen.set(Calendar.WEEK_OF_YEAR,4);
calen.set(Calendar.DAY_OF_WEEK,4);
System.out.println(df.format(calen.getTime()));
//add方法
SimpleDateFormatdff=newSimpleDateFormat("yyyy-MM-dd");
Calendarcalll=Calendar.getInstance();
calll.set(Calendar.YEAR,2018);
calll.set(Calendar.MONTH,4);
calll.set(Calendar.DAY_OF_MONTH,24);
calll.add(Calendar.DATE,-4);
Datedateee=calll.getTime();
System.out.println(dff.format(dateee));
calll.add(Calendar.DAY_OF_MONTH,-4);
//calll.add(Calendar.DATE,-4);相等
Datedatee1=calll.getTime();
System.out.println(dff.format(datee1));
}
}
java根据两个日期计算每月的天数,并且除去周六日
算工作日的?2个日期相差天数除以7,得数*5,然后处理最后一个星期,2个日期相差天数取7的余数,处理看看是否包含周六周日,减去就可以了。
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!
本文链接:http://xinin56.com/ruanjian/26694.html