java时间格式大全_第1页
java时间格式大全_第2页
java时间格式大全_第3页
java时间格式大全_第4页
java时间格式大全_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、java时间格式大全java.util.*;import java.text.*;import java.util.Calendar;public class VeDate /* */* 获取现在时间* return 返回时间类型yyyy-MM-dd HH:mm:ss*/public static Date getNowDate( Date currentTime = new Date(;SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss" String dateString = fo

2、rmatter.format(currentTime;ParsePosition pos = new ParsePosition(8;Date currentTime_2 = formatter.parse(dateString, pos;return currentTime_2;/* */* 获取现在时间* return返回短时间格式yyyy-MM-dd*/public static Date getNowDateShort( Date currentTime = new Date(;SimpleDateFormat formatter = new SimpleDateFormat(&quo

3、t;yyyy-MM-dd"String dateString = formatter.format(currentTime;ParsePosition pos = new ParsePosition(8;Date currentTime_2 = formatter.parse(dateString, pos;return currentTime_2;/* */* 获取现在时间* return返回字符串格式yyyy-MM-dd HH:mm:ss*/public static String getStringDate( Date currentTime = new Date(;Simpl

4、eDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss" String dateString = formatter.format(currentTime;return dateString;/* */* 获取现在时间* return 返回短时间字符串格式yyyy-MM-dd*/public static String getStringDateShort( Date currentTime = new Date(;SimpleDateFormat formatter = new SimpleDat

5、eFormat("yyyy-MM-dd"String dateString = formatter.format(currentTime;return dateString;/* */* 获取时间小时:分;秒HH:mm:ss* return*/public static String getTimeShort( SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss"Date currentTime = new Date(;String dateString = formatter.form

6、at(currentTime;return dateString;/* */* 将长时间格式字符串转换为时间yyyy-MM-dd HH:mm:ss* param strDate* return*/public static Date strToDateLong(String strDate SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss" ParsePosition pos = new ParsePosition(0;Date strtodate = formatter.parse

7、(strDate, pos;return strtodate;/* */* 将长时间格式时间转换为字符串yyyy-MM-dd HH:mm:ss* param dateDate* return*/public static String dateToStrLong(java.util.Date dateDate SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss" String dateString = formatter.format(dateDate;return dateStrin

8、g;/* */* 将短时间格式时间转换为字符串yyyy-MM-dd* param dateDate* param k* return*/public static String dateToStr(java.util.Date dateDate SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd" String dateString = formatter.format(dateDate;return dateString;/* */* 将短时间格式字符串转换为时间yyyy-MM-dd* param s

9、trDate* return*/public static Date strToDate(String strDate SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd" ParsePosition pos = new ParsePosition(0;Date strtodate = formatter.parse(strDate, pos;return strtodate;/* */* 得到现在时间* return*/public static Date getNow( Date currentTi

10、me = new Date(;return currentTime;/* */* 提取一个月中的最后一天* param day* return*/public static Date getLastDate(long day Date date = new Date(;long date_3_hm = date.getTime( - 3600000 * 34 * day;Date date_3_hm_date = new Date(date_3_hm;return date_3_hm_date;/* */* 得到现在时间* return 字符串yyyyMMdd HHmmss*/public s

11、tatic String getStringToday( Date currentTime = new Date(;SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd HHmmss"String dateString = formatter.format(currentTime;return dateString;/* */* 得到现在小时*/public static String getHour( Date currentTime = new Date(;SimpleDateFormat formatt

12、er = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"String dateString = formatter.format(currentTime;String hour;hour = dateString.substring(11, 13;return hour;/* */* 得到现在分钟* return*/public static String getTime( Date currentTime = new Date(;SimpleDateFormat formatter = new SimpleDateFormat(&qu

13、ot;yyyy-MM-dd HH:mm:ss"String dateString = formatter.format(currentTime;String min;min = dateString.substring(14, 16;return min;/* */* 根据用户传入的时间表示格式,返回当前时间的格式如果是yyyyMMdd,注意字母y不能大写。* param sformat* yyyyMMddhhmmss* return*/public static String getUserDate(String sformat Date currentTime = new Dat

14、e(;SimpleDateFormat formatter = new SimpleDateFormat(sformat;String dateString = formatter.format(currentTime;return dateString;/* */* 二个小时时间间的差值,必须保证二个时间都是"HH:MM"的格式,返回字符型的分钟*/public static String getTwoHour(String st1, String st2 String kk = null;String jj = null;kk = st1.split(":&q

15、uot;jj = st2.split(":"if (Integer.parseInt(kk0 < Integer.parseInt(jj0return "0"else double y = Double.parseDouble(kk0 + Double.parseDouble(kk1 / 60;double u = Double.parseDouble(jj0 + Double.parseDouble(jj1 / 60;if (y - u > 0return y - u + ""elsereturn "0&quo

16、t;/* */* 得到二个日期间的间隔天数*/public static String getTwoDay(String sj1, String sj2 SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd"long day = 0;try java.util.Date date = myFormatter.parse(sj1;java.util.Date mydate = myFormatter.parse(sj2;day = (date.getTime( - mydate.getTime( / (

17、24 * 60 * 60 * 1000; catch (Exception e return ""return day + ""/* */* 时间前推或后推分钟,其中JJ表示分钟.*/public static String getPreTime(String sj1, String jj SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"String mydate1 = ""try Date date1 = format.par

18、se(sj1;long Time = (date1.getTime( / 1000 + Integer.parseInt(jj * 60;date1.setTime(Time * 1000;mydate1 = format.format(date1; catch (Exception e return mydate1;/* */* 得到一个时间延后或前移几天的时间,nowdate为时间,delay为前移或后延的天数*/public static String getNextDay(String nowdate, String delay trySimpleDateFormat format =

19、 new SimpleDateFormat("yyyy-MM-dd"String mdate = ""Date d = strToDate(nowdate;long myTime = (d.getTime( / 1000 + Integer.parseInt(delay * 24 * 60 * 60;d.setTime(myTime * 1000;mdate = format.format(d;return mdate;catch(Exception ereturn ""/* */* 判断是否润年* param ddate* retu

20、rn*/public static boolean isLeapYear(String ddate /* */* 详细设计:1.被400整除是闰年,否则:2.不能被4整除则不是闰年3.能被4整除同时不能被100整除则是闰年* 3.能被4整除同时能被100整除则不是闰年*/Date d = strToDate(ddate;GregorianCalendar gc = (GregorianCalendar Calendar.getInstance(;gc.setTime(d;int year = gc.get(Calendar.YEAR;if (year % 400 = 0else if (yea

21、r % 4 = 0 if (year % 100 = 0return false;elsereturn true; elsereturn false;/* */* 返回美国时间格式26 Apr 2006* param str* return*/public static String getEDate(String str SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"ParsePosition pos = new ParsePosition(0;Date strtodate = formatte

22、r.parse(str, pos;String j = strtodate.toString(;String k = j.split(" "return k2 + k1.toUpperCase( + k5.substring(2, 4;/* */* 获取一个月的最后一天* param dat* return*/public static String getEndDateOfMonth(String dat / yyyy-MM-ddString str = dat.substring(0, 8;String month = dat.substring(5, 7;int mo

23、n = Integer.parseInt(month;if (mon = 1 | mon = 3 | mon = 5 | mon = 7 | mon = 8 | mon = 10 | mon = 12 str += "31" else if (mon = 4 | mon = 6 | mon = 9 | mon = 11 str += "30" else if (isLeapYear(dat str += "29" else str += "28"/* */* 判断二个时间是否在同一个周* param date1*

24、param date2* return*/public static boolean isSameWeekDates(Date date1, Date date2 Calendar cal1 = Calendar.getInstance(;Calendar cal2 = Calendar.getInstance(;cal1.setTime(date1;cal2.setTime(date2;int subYear = cal1.get(Calendar.YEAR - cal2.get(Calendar.YEAR;if (0 = subYear if (cal1.get(Calendar.WEEK

25、_OF_YEAR = cal2.get(Calendar.WEEK_OF_YEARreturn true; else if (1 = subYear && 11 = cal2.get(Calendar.MONTH / 如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周if (cal1.get(Calendar.WEEK_OF_YEAR = cal2.get(Calendar.WEEK_OF_YEARreturn true; else if (-1 = subYear && 11 = cal1.get(Calendar.MONTH if (cal1

26、.get(Calendar.WEEK_OF_YEAR = cal2.get(Calendar.WEEK_OF_YEARreturn true;return false;/* */* 产生周序列,即得到当前时间所在的年度是第几周* return*/public static String getSeqWeek( Calendar c = Calendar.getInstance(Locale.CHINA;String week = Integer.toString(c.get(Calendar.WEEK_OF_YEAR;if (week.length( = 1week = "0&quo

27、t; + week;String year = Integer.toString(c.get(Calendar.YEAR;return year + week;/* */* 获得一个日期所在的周的星期几的日期,如要找出2002年2月3日所在周的星期一是几号* param sdate* param num* return*/public static String getWeek(String sdate, String num / 再转换为时间Date dd = VeDate.strToDate(sdate;Calendar c = Calendar.getInstance(;c.setTim

28、e(dd;if (num.equals("1" / 返回星期一所在的日期c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY;else if (num.equals("2" / 返回星期二所在的日期c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY;else if (num.equals("3" / 返回星期三所在的日期c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY;else if (num.equals("

29、4" / 返回星期四所在的日期c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY;else if (num.equals("5" / 返回星期五所在的日期c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY;else if (num.equals("6" / 返回星期六所在的日期c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY;else if (num.equals("0" / 返回星期日所在的日期c.set(

30、Calendar.DAY_OF_WEEK, Calendar.SUNDAY;return new SimpleDateFormat("yyyy-MM-dd".format(c.getTime(; /* */* 根据一个日期,返回是星期几的字符串* param sdate* return*/public static String getWeek(String sdate / 再转换为时间Date date = VeDate.strToDate(sdate;Calendar c = Calendar.getInstance(;c.setTime(date;/ int hour

31、=c.get(Calendar.DAY_OF_WEEK;/ hour中存的就是星期几了,其范围17/ 1=星期日7=星期六,其他类推return new SimpleDateFormat("EEEE".format(c.getTime(;public static String getWeekStr(String sdateString str = ""str = VeDate.getWeek(sdate;if("1".equals(strstr = "星期日"else if("2".equal

32、s(strstr = "星期一"else if("3".equals(strstr = "星期二"else if("4".equals(strstr = "星期三"else if("5".equals(strstr = "星期四"else if("6".equals(strstr = "星期五"else if("7".equals(strstr = "星期六"return st

33、r;/* */* 两个时间之间的天数* param date1* param date2* return*/public static long getDays(String date1, String date2 if (date1 = null | date1.equals(""return 0;if (date2 = null | date2.equals(""return 0;/ 转换为标准时间SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd"jav

34、a.util.Date date = null;java.util.Date mydate = null;try date = myFormatter.parse(date1;mydate = myFormatter.parse(date2; catch (Exception e long day = (date.getTime( - mydate.getTime( / (24 * 60 * 60 * 1000;return day;/* */* 形成如下的日历,根据传入的一个时间返回一个结构星期日星期一星期二星期三星期四星期五星期六下面是当月的各个时间* 此函数返回该日历第一行星期日所在的日

35、期* param sdate* return*/public static String getNowMonth(String sdate / 取该时间所在月的一号sdate = sdate.substring(0, 8 + "01"/ 得到这个月的1号是星期几Date date = VeDate.strToDate(sdate;Calendar c = Calendar.getInstance(;c.setTime(date;int u = c.get(Calendar.DAY_OF_WEEK;String newday = VeDate.getNextDay(sdate

36、, (1 - u + "" return newday;/* */* 取得数据库主键生成格式为yyyymmddhhmmss+k位随机数* param k* 表示是取几位随机数,可以自己定*/public static String getNo(int k return getUserDate("yyyyMMddhhmmss" + getRandom(k; /* */* 返回一个随机数* param i* return*/public static String getRandom(int i Random jjj = new Random(;/ int

37、suiJiShu = jjj.nextInt(9;if (i = 0return ""String jj = ""for (int k = 0; k < i; k+ jj = jj + jjj.nextInt(9;return jj;/* */* param args*/public static boolean RightDate(String date SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"if (date = nullreturn

38、false;if (date.length( > 10 sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss" else sdf = new SimpleDateFormat("yyyy-MM-dd"try sdf.parse(date; catch (ParseException pe return false;return true;/* */* /nd=1表示返回的值中包含年度/yf=1表示返回的值中包含月份/rq=1表示返回的值中包含日期/format表示返回的格式1* 以年月日中文返回2 以横线-

39、返回/ 3 以斜线/返回4 以缩写不带其它符号形式返回/ 5 以点号.返回*/public static String getStringDateMonth(String sdate, String nd, String yf, String rq, String format Date currentTime = new Date(;SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"String dateString = formatter.format(currentTime;String s_n

40、d = dateString.substring(0, 4; / 年份String s_yf = dateString.substring(5, 7; / 月份String s_rq = dateString.substring(8, 10; / 日期String sreturn = ""roc.util.MyChar mc = new roc.util.MyChar(;if (sdate = null | sdate.equals("" | !mc.Isdate(sdate / 处理空值情况if (nd.equals("1" sre

41、turn = s_nd;/ 处理间隔符if (format.equals("1"sreturn = sreturn + "年"else if (format.equals("2"sreturn = sreturn + "-"else if (format.equals("3"sreturn = sreturn + "/"else if (format.equals("5"/ 处理月份if (yf.equals("1" sreturn =

42、 sreturn + s_yf;if (format.equals("1"sreturn = sreturn + "月"else if (format.equals("2"sreturn = sreturn + "-"else if (format.equals("3"sreturn = sreturn + "/"else if (format.equals("5"sreturn = sreturn + "."/ 处理日期if (rq.

43、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.equa

44、ls("1" sreturn = s_nd;/ 处理间隔符if (format.equals("1"sreturn = sreturn + "年"else if (format.equals("2"sreturn = sreturn + "-"else if (format.equals("3"sreturn = sreturn + "/"else if (format.equals("5"sreturn = sreturn + "."/ 处理月份if (yf.equals("1" sreturn = sreturn + s_yf;if (format.equals("1"sreturn = sreturn + "月"else if (format.equals("2"else if (format.equals("3"sreturn = sreturn + "/"else if (format.equals("

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论