千家信息网

常用Java Date 方法有哪些

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这期内容当中小编将会给大家带来有关常用Java Date 方法有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.Java Date之计算两个任意时间中间的间隔
千家信息网最后更新 2026年11月01日常用Java Date 方法有哪些

这期内容当中小编将会给大家带来有关常用Java Date 方法有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

1.Java Date之计算两个任意时间中间的间隔天数(这个比较常用):

(1)传进Calendar对象:

public int getIntervalDays(Calendar startday,Calendar endday)...{             if(startday.after(endday))...{          Calendar cal=startday;          startday=endday;          endday=cal;      }          long sl=startday.getTimeInMillis();      long el=endday.getTimeInMillis();           long ei=el-sl;                 return (int)(ei/(1000*60*60*24));  }

(2)传进Date对象:

public int getIntervalDays(Date startday,Date endday)...{              if(startday.after(endday))...{          Date cal=startday;          startday=endday;          endday=cal;      }              long sl=startday.getTime();      long el=endday.getTime();             long ei=el-sl;                 return (int)(ei/(1000*60*60*24));  }


(3)改进精确计算相隔天数的方法:

public int getDaysBetween (Calendar d1, Calendar d2) ...{      if (d1.after(d2)) ...{           java.util.Calendar swap = d1;          d1 = d2;          d2 = swap;      }      int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR);      int y2 = d2.get(Calendar.YEAR);      if (d1.get(Calendar.YEAR) != y2) ...{          d1 = (Calendar) d1.clone();          do ...{              days = d1.getActualMaximum(Calendar.DAY_OF_YEAR);//得到当年的实际天数              d1.add(Calendar.YEAR, 1);          } while (d1.get(Calendar.YEAR) != y2);      }      return days;  }

注意:通过上面的方法可以衍生出求任何时间,如要查出邮箱三周之内收到的邮件(得到当前系统时间-再得到三周前时间)用收件的时间去匹配 ***装化成 long去比较。
如:1年前日期(注意毫秒的转换):

java.util.Date myDate=new java.util.Date();  long myTime=(myDate.getTime()/1000)-60*60*24*365;  myDate.setTime(myTime*1000);  String mDate=formatter.format(myDate);

2. Java Date之String 和 Date ,Long 之间相互转换 (最常用):

字符串转化成时间类型(字符串可以是任意类型,只要和SimpleDateFormat中的格式一致即可)
通常我们取时间跨度的时候,会substring出具体时间--long-比较。

java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("M/dd/yyyy hh:mm:ss a",java.util.Locale.US);  java.util.Date d = sdf.parse("5/13/2003 10:31:37 AM");  long dvalue=d.getTime();  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  String mDateTime1=formatter.format(d);

3. Java Date之通过时间求时间:

年月周求日期:

SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM F E");  java.util.Date date2= formatter2.parse("2003-05 5 星期五");  SimpleDateFormat formatter3 = new SimpleDateFormat("yyyy-MM-dd");  String mydate2=formatter3.format(date2);

求是星期几:

mydate= myFormatter.parse("2001-1-1");  SimpleDateFormat formatter4 = new SimpleDateFormat("E");  String mydate3=formatter4.format(mydate);

4. Java Date之java 和 具体的数据库结合:

在开发web应用中,针对不同的数据库日期类型,我们需要在我们的程序中对日期类型做各种不同的转换。若对应数据库数据是oracle的Date类型,即只需要年月日的,可以选择使用java.sql.Date类型,若对应的是MSsqlserver 数据库的DateTime类型,即需要年月日时分秒的,选择java.sql.Timestamp类型,你可以使用dateFormat定义时间日期的格式,转一个字符串即可。

class Datetest{  *method 将字符串类型的日期转换为一个timestamp(时间戳记java.sql.Timestamp)  *@param dateString 需要转换为timestamp的字符串  *@return dataTime timestamp   public final static java.sql.Timestamp string2Time(String dateString)  throws java.text.ParseException {  DateFormat dateFormat;  dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS", Locale.ENGLISH);//设定格式  //dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss", Locale.ENGLISH);  dateFormat.setLenient(false);  java.util.Date timeDate = dateFormat.parse(dateString);//util类型  java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());//Timestamp类型,timeDate.getTime()返回一个long型  return dateTime;  }  *method 将字符串类型的日期转换为一个Date(java.sql.Date)  *@param dateString 需要转换为Date的字符串  *@return dataTime Date   public final static java.sql.Date string2Date(String dateString)  throws java.lang.Exception {  DateFormat dateFormat;  dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);  dateFormat.setLenient(false);  java.util.Date timeDate = dateFormat.parse(dateString);//util类型  java.sql.Date dateTime = new java.sql.Date(timeDate.getTime());//sql类型  return dateTime;  }  public static void main(String[] args){  Date da = new Date();

注意:这个地方da.getTime()得到的是一个long型的值
System.out.println(da.getTime());


5.Java Date之由日期date转换为timestamp:

***种方法:
使用new Timestamp(long)

Timestamp t = new Timestamp(new Date().getTime());  System.out.println(t);

第二种方法:使用Timestamp(int year,int month,int date,int hour,int minute,int second,int nano)

      Timestamp tt = new Timestamp(Calendar.getInstance().get(        Calendar.YEAR) - 1900, Calendar.getInstance().get(        Calendar.MONTH), Calendar.getInstance().get(        Calendar.DATE), Calendar.getInstance().get(        Calendar.HOUR), Calendar.getInstance().get(        Calendar.MINUTE), Calendar.getInstance().get(        Calendar.SECOND), 0);  System.out.println(tt);   try {  String sToDate = "2005-8-18";//用于转换成java.sql.Date的字符串        String sToTimestamp = "2005-8-18 14:21:12.123";//用于转换成java.sql.Timestamp的字符串        Date date1 = string2Date(sToDate);        Timestamp date2 = string2Time(sToTimestamp);  System.out.println("Date:" date1.toString());//结果显示  System.out.println("Timestamp:" date2.toString());//结果显示  }catch(Exception e) {  e.printStackTrace();  }  }  }

上述就是小编为大家分享的常用Java Date 方法有哪些了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

类型 时间 字符 字符串 日期 方法 数据 常用 数据库 天数 年月 格式 不同 内容 对象 年月日 星期 结果 三周 分析 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东猪兼强互联网科技有限公司 互联网科技工作委员会主任 互联网金融监管科技数据 互联网科技公司发展 互联网科技小贷 善班互联网科技有限公司 科技大学互联网专业好不好 太原新华互联网科技学校怎么样 富国互联网科技创新基金 宝灵互联网科技有限公司 中国互联网公司排名锤子科技 明优互联网科技有限公司 互联网金融科技元年 有人说阿里系是互联网科技企业 工业互联网科技创业 中国互联网公司的科技投入 互联网科技博主张洲 第三届互联网大会安防黑科技 恒生科技指数 中概互联网 互联网高科技绘画 互联网金融公司科技 科技创新互联网企业 时间互联网络科技 成都狮子座互联网科技 佰商互联网科技有限公司 阿大互联网科技有限公司 东莞新华互联网科技学校 中和天地互联网科技有限公司 工业互联网展湾科技股份有限公司 湖北辰鑫科技互联网
0