java的时间操作.docx

上传人:b****7 文档编号:11208929 上传时间:2023-02-25 格式:DOCX 页数:26 大小:18.96KB
下载 相关 举报
java的时间操作.docx_第1页
第1页 / 共26页
java的时间操作.docx_第2页
第2页 / 共26页
java的时间操作.docx_第3页
第3页 / 共26页
java的时间操作.docx_第4页
第4页 / 共26页
java的时间操作.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

java的时间操作.docx

《java的时间操作.docx》由会员分享,可在线阅读,更多相关《java的时间操作.docx(26页珍藏版)》请在冰豆网上搜索。

java的时间操作.docx

java的时间操作

java的时间操作

2008年02月01日星期五11:

12

/**

日期类

*@date2003-12-04

*@version1.0

*/

importjava.util.*;

importjava.text.*;

importjava.util.Calendar;

publicclassVeDate{

/**

*获取现在时间

*

*@return返回时间类型yyyy-MM-ddHH:

mm:

ss

*/

publicstaticDategetNowDate(){

DatecurrentTime=newDate();

SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-ddHH:

mm:

ss");

StringdateString=formatter.format(currentTime);

ParsePositionpos=newParsePosition(8);

DatecurrentTime_2=formatter.parse(dateString,pos);

returncurrentTime_2;

}

/**

*获取现在时间

*

*@return返回短时间格式yyyy-MM-dd

*/

publicstaticDategetNowDateShort(){

DatecurrentTime=newDate();

SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-dd");

StringdateString=formatter.format(currentTime);

ParsePositionpos=newParsePosition(8);

DatecurrentTime_2=formatter.parse(dateString,pos);

returncurrentTime_2;

}

/**

*获取现在时间

*

*@return返回字符串格式yyyy-MM-ddHH:

mm:

ss

*/

publicstaticStringgetStringDate(){

DatecurrentTime=newDate();

SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-ddHH:

mm:

ss");

StringdateString=formatter.format(currentTime);

returndateString;

}

/**

*获取现在时间

*

*@return返回短时间字符串格式yyyy-MM-dd

*/

publicstaticStringgetStringDateShort(){

DatecurrentTime=newDate();

SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-dd");

StringdateString=formatter.format(currentTime);

returndateString;

}

/**

*获取时间小时:

分;秒HH:

mm:

ss

*

*@return

*/

publicstaticStringgetTimeShort(){

SimpleDateFormatformatter=newSimpleDateFormat("HH:

mm:

ss");

DatecurrentTime=newDate();

StringdateString=formatter.format(currentTime);

returndateString;

}

/**

*将长时间格式字符串转换为时间yyyy-MM-ddHH:

mm:

ss

*

*@paramstrDate

*@return

*/

publicstaticDatestrToDateLong(StringstrDate){

SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-ddHH:

mm:

ss");

ParsePositionpos=newParsePosition(0);

Datestrtodate=formatter.parse(strDate,pos);

returnstrtodate;

}

/**

*将长时间格式时间转换为字符串yyyy-MM-ddHH:

mm:

ss

*

*@paramdateDate

*@return

*/

publicstaticStringdateToStrLong(java.util.DatedateDate){

SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-ddHH:

mm:

ss");

StringdateString=formatter.format(dateDate);

returndateString;

}

/**

*将短时间格式时间转换为字符串yyyy-MM-dd

*

*@paramdateDate

*@paramk

*@return

*/

publicstaticStringdateToStr(java.util.DatedateDate){

SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-dd");

StringdateString=formatter.format(dateDate);

returndateString;

}

/**

*将短时间格式字符串转换为时间yyyy-MM-dd

*

*@paramstrDate

*@return

*/

publicstaticDatestrToDate(StringstrDate){

SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-dd");

ParsePositionpos=newParsePosition(0);

Datestrtodate=formatter.parse(strDate,pos);

returnstrtodate;

}

/**

*得到现在时间

*

*@return

*/

publicstaticDategetNow(){

DatecurrentTime=newDate();

returncurrentTime;

}

/**

*提取一个月中的最后一天

*

*@paramday

*@return

*/

publicstaticDategetLastDate(longday){

Datedate=newDate();

longdate_3_hm=date.getTime()-3600000*34*day;

Datedate_3_hm_date=newDate(date_3_hm);

returndate_3_hm_date;

}

/**

*得到现在时间

*

*@return字符串yyyyMMddHHmmss

*/

publicstaticStringgetStringToday(){

DatecurrentTime=newDate();

SimpleDateFormatformatter=newSimpleDateFormat("yyyyMMddHHmmss");

StringdateString=formatter.format(currentTime);

returndateString;

}

/**

*得到现在小时

*/

publicstaticStringgetHour(){

DatecurrentTime=newDate();

SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-ddHH:

mm:

ss");

StringdateString=formatter.format(currentTime);

Stringhour;

hour=dateString.substring(11,13);

returnhour;

}

/**

*得到现在分钟

*

*@return

*/

publicstaticStringgetTime(){

DatecurrentTime=newDate();

SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-ddHH:

mm:

ss");

StringdateString=formatter.format(currentTime);

Stringmin;

min=dateString.substring(14,16);

returnmin;

}

/**

*根据用户传入的时间表示格式,返回当前时间的格式如果是yyyyMMdd,注意字母y不能大写。

*

*@paramsformat

*yyyyMMddhhmmss

*@return

*/

publicstaticStringgetUserDate(Stringsformat){

DatecurrentTime=newDate();

SimpleDateFormatformatter=newSimpleDateFormat(sformat);

StringdateString=formatter.format(currentTime);

returndateString;

}

/**

*二个小时时间间的差值,必须保证二个时间都是"HH:

MM"的格式,返回字符型的分钟

*/

publicstaticStringgetTwoHour(Stringst1,Stringst2){

String[]kk=null;

String[]jj=null;

kk=st1.split(":

");

jj=st2.split(":

");

if(Integer.parseInt(kk[0])

return"0";

else{

doubley=Double.parseDouble(kk[0])+Double.parseDouble(kk[1])/60;

doubleu=Double.parseDouble(jj[0])+Double.parseDouble(jj[1])/60;

if((y-u)>0)

returny-u+"";

else

return"0";

}

}

/**

*得到二个日期间的间隔天数

*/

publicstaticStringgetTwoDay(Stringsj1,Stringsj2){

SimpleDateFormatmyFormatter=newSimpleDateFormat("yyyy-MM-dd");

longday=0;

try{

java.util.Datedate=myFormatter.parse(sj1);

java.util.Datemydate=myFormatter.parse(sj2);

day=(date.getTime()-mydate.getTime())/(24*60*60*1000);

}catch(Exceptione){

return"";

}

returnday+"";

}

/**

*时间前推或后推分钟,其中JJ表示分钟.

*/

publicstaticStringgetPreTime(Stringsj1,Stringjj){

SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-ddHH:

mm:

ss");

Stringmydate1="";

try{

Datedate1=format.parse(sj1);

longTime=(date1.getTime()/1000)+Integer.parseInt(jj)*60;

date1.setTime(Time*1000);

mydate1=format.format(date1);

}catch(Exceptione){

}

returnmydate1;

}

/**

*得到一个时间延后或前移几天的时间,nowdate为时间,delay为前移或后延的天数

*/

publicstaticStringgetNextDay(Stringnowdate,Stringdelay){

try{

SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-dd");

Stringmdate="";

Dated=strToDate(nowdate);

longmyTime=(d.getTime()/1000)+Integer.parseInt(delay)*24*60*60;

d.setTime(myTime*1000);

mdate=format.format(d);

returnmdate;

}catch(Exceptione){

return"";

}

}

/**

*判断是否润年

*

*@paramddate

*@return

*/

publicstaticbooleanisLeapYear(Stringddate){

/**

*详细设计:

1.被400整除是闰年,否则:

2.不能被4整除则不是闰年3.能被4整除同时不能被100整除则是闰年

*3.能被4整除同时能被100整除则不是闰年

*/

Dated=strToDate(ddate);

GregorianCalendargc=(GregorianCalendar)Calendar.getInstance();

gc.setTime(d);

intyear=gc.get(Calendar.YEAR);

if((year%400)==0)

returntrue;

elseif((year%4)==0){

if((year%100)==0)

returnfalse;

else

returntrue;

}else

returnfalse;

}

/**

*返回美国时间格式26Apr2006

*

*@paramstr

*@return

*/

publicstaticStringgetEDate(Stringstr){

SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-dd");

ParsePositionpos=newParsePosition(0);

Datestrtodate=formatter.parse(str,pos);

Stringj=strtodate.toString();

String[]k=j.split("");

returnk[2]+k[1].toUpperCase()+k[5].substring(2,4);

}

/**

*获取一个月的最后一天

*

*@paramdat

*@return

*/

publicstaticStringgetEndDateOfMonth(Stringdat){//yyyy-MM-dd

Stringstr=dat.substring(0,8);

Stringmonth=dat.substring(5,7);

intmon=Integer.parseInt(month);

if(mon==1||mon==3||mon==5||mon==7||mon==8||mon==10||mon==12){

str+="31";

}elseif(mon==4||mon==6||mon==9||mon==11){

str+="30";

}else{

if(isLeapYear(dat)){

str+="29";

}else{

str+="28";

}

}

returnstr;

}

/**

*判断二个时间是否在同一个周

*

*@paramdate1

*@paramdate2

*@return

*/

publicstaticbooleanisSameWeekDates(Datedate1,Datedate2){

Calendarcal1=Calendar.getInstance();

Calendarcal2=Calendar.getInstance();

cal1.setTime(date1);

cal2.setTime(date2);

intsubYear=cal1.get(Calendar.YEAR)-cal2.get(Calendar.YEAR);

if(0==subYear){

if(cal1.get(Calendar.WEEK_OF_YEAR)==cal2.get(Calendar.WEEK_OF_YEAR))

returntrue;

}elseif(1==subYear&&11==cal2.get(Calendar.MONTH)){

//如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周

if(cal1.get(Calendar.WEEK_OF_YEAR)==cal2.get(Calendar.WEEK_OF_YEAR))

returntrue;

}elseif(-1==subYear&&11==cal1.get(Calendar.MONTH)){

if(cal1.get(Calendar.WEEK_OF_YEAR)==cal2.get(Calendar.WEEK_OF_YEAR))

returntrue;

}

returnfalse;

}

/**

*产生周序列,即得到当前时间所在的年度是第几周

*

*@return

*/

publicstaticStringgetSeqWeek(){

Calendarc=Calendar.getInstance(Locale.CHINA);

Stringweek=Integer.toString(c.get(Calendar.WEEK_OF_YEAR));

if(week.length()==1)

week="0"+week;

Stringyear=Integer.toString(c.get(Calendar.YEAR));

returnyear+week;

}

/**

*获得一个日期所在的周的星期几的日期,如要找出2002年2月3日所在周的星期一是几号

*

*@paramsdate

*@paramnum

*@return

*/

publicstaticStringgetWeek(Stringsdate,Stringnum){

//再转换为时间

Datedd=VeDate.strToDate(sdate);

Calendarc=Calendar.getInstance();

c.setTime(dd);

if(num.equals("1"))//返回星期一所在的日期

c.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);

elseif(num.equals("2"))//返回星期二所在的日期

c.set(Calendar.DAY_OF_WEEK,Calendar.TUESDAY);

elseif(num.equals("3"))//返回星期三所在的日期

c.set(Calendar.DAY_OF_WEEK,Calendar.WEDNESDAY);

elseif(num.equals("4"))//返回星期四所在的日期

c.set(Calendar.DAY_OF_WEEK,Calendar.THURSDAY);

elseif(num.equals("5"))//返回星期五所在的日期

c.set(Calendar.DAY_OF_WEEK,Calendar.FRIDAY);

elseif(num.equals("6"))//返回星期六所在的日期

c.set(Calendar.DAY_OF_WEEK,Calendar.SATURDAY);

elseif(num.equals("0"))//返回星期日所在的日期

c.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);

returnnewSimpleDateFormat("yyyy-MM-dd").format(c.getTime());

}

/**

*根据一个日期,返回是星期几的字符串

*

*@paramsdate

*@return

*/

publicstaticStringgetWeek(Stringsdate){

//再转换为时间

Datedate=VeDate.strToDate(sdate);

Calendarc=Calendar.getInstance();

c.setTime(date);

//inthour=c.get(Calendar.DAY_OF_WEEK);

//hour中存的就是星期几了,其范围1~7

//1=星期日7=星期六,其他类推

returnnewSimpleDateFormat("EEEE").

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 设计艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1