当前位置:首页 > 软件开发 > 正文

java日历代码(用Java写一个带有窗体的日历)

java日历代码(用Java写一个带有窗体的日历)

今天给各位分享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,本文到此结束,如果可以帮助到大家,还望关注本站哦!

最新文章