Java时间函数大全.docx
- 文档编号:1177965
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:20
- 大小:17.70KB
Java时间函数大全.docx
《Java时间函数大全.docx》由会员分享,可在线阅读,更多相关《Java时间函数大全.docx(20页珍藏版)》请在冰点文库上搜索。
Java时间函数大全
Java时间函数大全.txt时尚,就是让年薪八千的人看上去像年薪十万。
我们总是要求男人有孩子一样的眼神,父亲一样的能力。
一分钟就可以遇见一个人,一小时喜欢上一个人,一天爱上一个人,但需要花尽一生的时间去忘记一个人。
//java时间格式大全时间
//作者:
呆三/zbcdj2008
java.util.*;
importjava.text.*;
importjava.util.Calendar;
/**
*获取一个月的最后一天
*
*@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").format(c.getTime());
}
publicstaticStringgetWeekStr(Stringsdate){
Stringstr="";
str=VeDate.getWeek(sdate);
if("1".equals(str)){
str="星期日";
}elseif("2".equals(str)){
str="星期一";
}elseif("3".equals(str)){
str="星期二";
}elseif("4".equals(str)){
str="星期三";
}elseif("5".equals(str)){
str="星期四";
}elseif("6".equals(str)){
str="星期五";
}elseif("7".equals(str)){
str="星期六";
}
returnstr;
}
/**
*两个时间之间的天数
*
*@paramdate1
*@paramdate2
*@return
*/
publicstaticlonggetDays(Stringdate1,Stringdate2){
if(date1==null||date1.equals(""))
return0;
if(date2==null||date2.equals(""))
return0;
//转换为标准时间
SimpleDateFormatmyFormatter=newSimpleDateFormat("yyyy-MM-dd");
java.util.Datedate=null;
java.util.Datemydate=null;
try{
date=myFormatter.parse(date1);
mydate=myFormatter.parse(date2);
}catch(Exceptione){
}
longday=(date.getTime()-mydate.getTime())/(24*60*60*1000);
returnday;
}
/**
*形成如下的日历,根据传入的一个时间返回一个结构星期日星期一星期二星期三星期四星期五星期六下面是当月的各个时间
*此函数返回该日历第一行星期日所在的日期
*
*@paramsdate
*@return
*/
publicstaticStringgetNowMonth(Stringsdate){
//取该时间所在月的一号
sdate=sdate.substring(0,8)+"01";
//得到这个月的1号是星期几
Datedate=VeDate.strToDate(sdate);
Calendarc=Calendar.getInstance();
c.setTime(date);
intu=c.get(Calendar.DAY_OF_WEEK);
Stringnewday=VeDate.getNextDay(sdate,(1-u)+"");
returnnewday;
}
/**
*取得数据库主键生成格式为yyyymmddhhmmss+k位随机数
*
*@paramk
*表示是取几位随机数,可以自己定
*/
publicstaticStringgetNo(intk){
returngetUserDate("yyyyMMddhhmmss")+getRandom(k);
}
/**
*返回一个随机数
*
*@parami
*@return
*/
publicstaticStringgetRandom(inti){
Randomjjj=newRandom();
//intsuiJiShu=jjj.nextInt(9);
if(i==0)
return"";
Stringjj="";
for(intk=0;k
jj=jj+jjj.nextInt(9);
}
returnjj;
}
/**
*
*@paramargs
*/
publicstaticbooleanRightDate(Stringdate){
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddhh:
mm:
ss");
;
if(date==null)
returnfalse;
if(date.length()>10){
sdf=newSimpleDateFormat("yyyy-MM-ddhh:
mm:
ss");
}else{
sdf=newSimpleDateFormat("yyyy-MM-dd");
}
try{
sdf.parse(date);
}catch(ParseExceptionpe){
returnfalse;
}
returntrue;
}
/***************************************************************************
*//nd=1表示返回的值中包含年度//yf=1表示返回的值中包含月份//rq=1表示返回的值中包含日期//format表示返回的格式1
*以年月日中文返回2以横线-返回//3以斜线/返回4以缩写不带其它符号形式返回//5以点号.返回
**************************************************************************/
publicstaticStringgetStringDateMonth(Stringsdate,Stringnd,Stringyf,Stringrq,Stringformat){
DatecurrentTime=newDate();
SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-dd");
StringdateString=formatter.format(currentTime);
Strings_nd=dateString.substring(0,4);//年份
Strings_yf=dateString.substring(5,7);//月份
Strings_rq=dateString.substring(8,10);//日期
Stringsreturn="";
roc.util.MyCharmc=newroc.util.MyChar();
if(sdate==null||sdate.equals("")||!
mc.Isdate(sdate)){//处理空值情况
if(nd.equals("1")){
sreturn=s_nd;
//处理间隔符
if(format.equals("1"))
sreturn=sreturn+"年";
elseif(format.equals("2"))
sreturn=sreturn+"-";
elseif(format.equals("3"))
sreturn=sreturn+"/";
elseif(format.equals("5"))
sreturn=sreturn+".";
}
//处理月份
if(yf.equals("1")){
sreturn=sreturn+s_yf;
if(format.equals("1"))
sreturn=sreturn+"月";
elseif(format.equals("2"))
sreturn=sreturn+"-";
elseif(format.equals("3"))
sreturn=sreturn+"/";
elseif(format.equals("5"))
sreturn=sreturn+".";
}
//处理日期
if(rq.equals("1")){
sreturn=sreturn+s_rq;
if(format.equals("1"))
sreturn=sreturn+"日";
}
}else{
//不是空值,也是一个合法的日期值,则先将其转换为标准的时间格式
sdate=roc.util.RocDate.getOKDate(sdate);
s_nd=sdate.substring(0,4);//年份
s_yf=sdate.substring(5,7);//月份
s_rq=sdate.substring(8,10);//日期
if(nd.equals("1")){
sreturn=s_nd;
//处理间隔符
if(format.equals("1"))
sreturn=sreturn+"年";
elseif(format.equals("2"))
sreturn=sreturn+"-";
elseif(format.equals("3"))
sreturn=sreturn+"/";
elseif(format.equals("5"))
sreturn=sreturn+".";
}
//处理月份
if(yf.equals("1")){
sreturn=sreturn+s_yf;
if(format.equals("1"))
sreturn=sreturn+"月";
elseif(format.equals("2"))
sreturn=sreturn+"-";
elseif(format.equals("3"))
sreturn=sreturn+"/";
elseif(format.equals("5"))
sreturn=sreturn+".";
}
//处理日期
if(rq.equals("1")){
sreturn=sreturn+s_rq;
if(format.equals("1"))
sreturn=sreturn+"日";
}
}
returnsreturn;
}
/**
日期类
*@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("y
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 时间 函数 大全