精华内容
下载资源
问答
  • JAVA 日期加减计算

    千次阅读 2019-08-01 19:46:55
    1.获取当前系统时间 ...2.实现时间加减的两种方法 第一种:用java.text.SimpleDateFormat来实现 SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); System.out.println("今天的日期:"+df.format(date...

    1.获取当前系统时间
        Date date = new Date();

    2.实现时间的加减的两种方法

    第一种:  用java.text.SimpleDateFormat来实现

       SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");  
       System.out.println("今天的日期:"+df.format(date));  
       System.out.println("两天前的日期:" + df.format(new Date(date.getTime() - 2 * 24 * 60 * 60 * 1000)));  
       System.out.println("三天后的日期:" + df.format(new Date(date.getTime() + 3 * 24 * 60 * 60 * 1000)));

    获取当前毫秒值进行加减.

    第二种:用java.util.Calender来实现
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);//设置起时间
        //System.out.println("111111111::::"+cal.getTime());
        cal.add(Calendar.YEAR, 1);//增加一年
        //cd.add(Calendar.DATE, 1);//增加一天  
       //cd.add(Calendar.DATE, -10);//减10天  
        //cd.add(Calendar.MONTH, 1);//增加一个月   
        System.out.println("输出::"+cal.getTime());

    转载:https://blog.csdn.net/z947663039/article/details/81097465 
     

    展开全文
  • Java中对日期的加减操作 gc.add(1,-1)表示年份减一. gc.add(2,-1)表示月份减一. gc.add(3.-1)表示周减一. gc.add(5,-1)表示天减一. GregorianCalendar类的add(int field,int amount)方法表示年月日等加减. field...

    Java中对日期的加减操作

    gc.add(1,-1)表示年份减一.
    gc.add(2,-1)表示月份减一.
    gc.add(3.-1)表示周减一.
    gc.add(5,-1)表示天减一.

    GregorianCalendar类的add(int field,int amount)方法表示年月日等加减.
    field参数表示年,月.日等.

    amount参数表示要加减的数量.


    /*
    	 * 计算时间周的开始和结束时间(上周,本周,下周)
    	 * param flag -1 上周  2是下周
    	 * return date
    	 */
    	public Date getWeek(int flag){
    		Calendar gc = new GregorianCalendar();
    		gc.add(3, flag);
    		Date week = null;
    		if (gc.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {
    			gc.add(5, 1);
    			week = gc.getTime();
    		} else if (gc.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY) {
    			gc.add(5, 2);
    			week = gc.getTime();
    		} else if (gc.get(Calendar.DAY_OF_WEEK) == Calendar.THURSDAY) {
    			gc.add(5, 3);
    			week = gc.getTime();
    		} else if (gc.get(Calendar.DAY_OF_WEEK) == Calendar.WEDNESDAY) {
    			gc.add(5, -3);
    			week = gc.getTime();
    		} else if (gc.get(Calendar.DAY_OF_WEEK) == Calendar.TUESDAY) {
    			gc.add(5, -2);
    			week = gc.getTime();
    		} else if (gc.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY) {
    			gc.add(5, -1);
    			week = gc.getTime();
    		} else {
    			week = gc.getTime();
    		}
    		return week;
    	}


    展开全文
  • 本篇文章主要介绍一下Calendar类的对时间对一些使用方法java 日期加减天数、月数、年数的计算方式, java实现给指定日期加固定小时、天、月,java判断当前日期是星期几,java判断某个时间是否在条件时间之内。...

    本篇文章主要介绍一下Calendar类的对时间对一些使用方法:java 日期加减天数、月数、年数的计算方式, java实现给指定日期加固定小时、天、月,java判断当前日期是星期几,java判断某个时间是否在条件时间之内。

     

    代码:

    public static void main(String[] args) throws Exception{
    
       SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
       String nowTime = sdf.format(new Date());
    
       int week = dayForWeek(nowTime);
       System.out.println("今天是"+nowTime+"周"+week);
    
       String newTime = calculateTime(sdf.parse(nowTime),week);
       System.out.println(nowTime+"减去"+week+"天数后日期是"+newTime);
    
    
       Date addHourTime = newDate(sdf.parse(newTime));
       sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       System.out.println(nowTime+"加时分秒后日期是"+sdf.format(addHourTime));
    
       sdf = new SimpleDateFormat("MM-dd");
       String str = "12-26";
       boolean isOK = belongDate(sdf.parse(nowTime),sdf.parse(str),0);
    
       System.out.println(sdf.format(new Date())+"和12-26比较结果是"+isOK);
       Date de = sdf.parse("12-26");
       isOK = belongDate(de,sdf.parse(str),0);
       System.out.println(sdf.format(de)+"和12-26比较结果是"+isOK);
    }
    
    /**
     * 判断当前日期是星期几<br>
     * <br>
     * @param pTime 修要判断的时间<br>
     * @return dayForWeek 判断结果<br>
     * @Exception 发生异常<br>
     */
    public static int dayForWeek(String pTime) throws Exception {
       SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
       Calendar c = Calendar.getInstance();
       c.setTime(format.parse(pTime));
       int dayForWeek = 0;
       if(c.get(Calendar.DAY_OF_WEEK) == 1){
          dayForWeek = 7;
       }else{
          dayForWeek = c.get(Calendar.DAY_OF_WEEK) - 1;
       }
       return dayForWeek;
    }
    
    /**
     * 计算日期
     * @param time 计算的时间
     * @param day 减去的天数
     * @return
     * @throws Exception
     */
    public static String calculateTime(Date time,int day) throws Exception {
       SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
       Calendar cal = Calendar.getInstance();
       cal.setTime(time);
       cal.add(Calendar.DATE, -day);
       //cal.add(Calendar.MONTH, -day); 月数
       // cal.add(Calendar.YEAR, -day); //年份
       String newTime = sdf.format(cal.getTime());
       return newTime;
    }
    
    /**
     * 设置当前时间加时分秒
     * @param time
     * @return
     */
    public static Date newDate(Date time) {
       Calendar c = Calendar.getInstance();
       c.setTime(time);   //设置时间
       c.add(Calendar.HOUR,23);   //日期小时加23小时
       c.add(Calendar.MINUTE, 59); //日期分钟加59分钟
       c.add(Calendar.SECOND, 59); //日期分钟加59分钟
       Date date = c.getTime(); //结果
       return date;
    }
    
    /**
     * 比较时间是否在某个时间段内
     * @param time
     * @param now
     * @param n
     * @return
     */
    public static boolean belongDate(Date time, Date now, int n) {
       SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
       Calendar calendar = Calendar.getInstance();  //得到日历
       calendar.setTime(now);//把当前时间赋给日历
       calendar.add(Calendar.DAY_OF_MONTH, n);
       Date before7days = calendar.getTime();   //得到n前的时间
       //我这里是比较是否具体某一天,判断范围可以换成大于小于
       if (before7days.getTime() == time.getTime()) {
          return true;
       } else {
          return false;
       }
    }

    结果 :

    常用方法: 

    Calendar.DATE  : 代表天数

    Calendar.WEDNESDAY: 代表周数

    Calendar.MONTH : 代表月数

    Calendar.YEAR :代表年数

    展开全文
  • JAVA 常用时间日期计算转换方法

    千次阅读 2016-05-26 21:09:37
    2加减天数与当前日期加减后的日期 3指定日期格式 yyyyMMdd 加减天数 指定日期加减后的日期 4指定 日期1 格式 yyyyMMdd 指定 日期2 格式 yyyyMMdd 指定日期1与日期2相差的天数 5把LONG类型转换成字符串日期 times ...
    <span style="font-family: Arial, Helvetica, sans-serif;">1指定 日期 格式 yyyyMMdd  指定日期与当前相差的天数</span>
    2加减天数与当前日期加减后的日期
    3指定日期格式 yyyyMMdd  加减天数  指定日期加减后的日期
    4指定 日期1 格式 yyyyMMdd 指定 日期2 格式 yyyyMMdd     指定日期1与日期2相差的天数
    5>把LONG类型转换成字符串日期
    
    
    package Time.Test;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    public class ZyfTime {
    
    	/**
    	 @param day 指定 日期 格式 yyyyMMdd                                 
    	 *  @return 指定日期与当前相差的天数           </span></span><span style="font-size:14px;"><span style="color:#000099;">
             * @throws ParseException 
    	 */</span>
    	
    	  public static int getDays(String days) throws ParseException{
    	    	SimpleDateFormat sf1 = 
    				new SimpleDateFormat("yyyyMMdd");
    			Date d1 = new Date();
    			Date d2 = sf1.parse(days);
    			Calendar cc = Calendar.getInstance();
    			cc.setTime(d1);
    			d1 = sf1.parse(sf1.format(cc.getTime()));
    			int day =(int)((d2.getTime()-d1.getTime())
    					      /(86400*1000));
    			return day;
    	    }
    	
    	
    	/**
    	 * @param dayCount 加减天数
    	 * @return与当前日期加减后的日期
    	 */</span>
    	public String getDay(int dayCount){
    		Date today=new Date();
    		Calendar c=Calendar.getInstance();  
    		c.setTime(today);
    		c.add(Calendar.DAY_OF_MONTH, dayCount);
    		SimpleDateFormat sf1=new SimpleDateFormat("yyyyMMdd");
    	
    		return sf1.format(c.getTime());
    			
    	}
    	
    	<span style="color:#000099;">/**
    	 * @param day 指定 日期 格式 yyyyMMdd
    	 * @param count 加减天数
    	 * @return 指定日期加减后的日期
    	 * @throws ParseException 
    	 */</span>
    	public String getDay(String day,int Count) throws ParseException{
    		
    		
    		SimpleDateFormat sf=new SimpleDateFormat("yyyyMMdd");
    		
    		Calendar c=Calendar.getInstance();  
    		c.setTime(sf.parse(day));
    		c.add(Calendar.DAY_OF_MONTH, Count);
    		return sf.format(c.getTime());
    		
    	
    	}
    	/**
    	 * @param day1 指定 日期1 格式 yyyyMMdd
    	 * @param day2 指定 日期2 格式 yyyyMMdd
    	 * @return 指定日期1与日期2相差的天数
    	 * @throws ParseException 
    	 */</span>
    	public int getDays(String day1,String day2) throws ParseException{
    		SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
    		Date d1=sdf.parse(day1);
    		Date d2=sdf.parse(day2);
    		int count=(int) ((d1.getTime()-d2.getTime())/86400000);
    		return count;
    		
    	}
     /**
         * 把LONG类型转换成字符串日期
         * @param times
         * @param format
         * @return
         */</span>
        public String getDate(long times,String format){
        	SimpleDateFormat sf=new SimpleDateFormat(format);
        	String date=sf.format(new Date(times));
        	return date;
        }
    }
    <span style="font-family: Arial, Helvetica, sans-serif;">调用程序及结果图</span>
    


    展开全文
  • 通过Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析 ,可以看出java8设计非常好,实现接口Temporal, TemporalAdjuster, ChronoLocalDate等,有非常丰富的方法。例如:...
  • 通过Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析,可以看出java8设计非常好,实现接口Temporal, TemporalAdjuster, ChronoLocalDate等,有非常丰富的方法。例如:...
  • 二、Java 8日期/时间类三:日期和时间主要类的关系(待更新)四:日期操作和处理获取当前日期(只能精确到年月日)获取当前时间(可以精确到毫秒)获取上周周一的日期获取具体年、月、日、小时、分钟、秒指定日期、时间...
  • Calendar首先我们需要知道的是,在Java中,日期有两种表示方法,Date和Calendar,Date用毫秒数表示当前时间,无法对日期进行操作,比如加一天,减一天等,而Calendar则可以对日期进行加减计算。首先来了解一下...
  • Java计算以下时间的开始和结束时间:上一个月,这一个月,上一周,这一周 只是简单的用到了Calendar类的get(int field) 和add(int,int) 方法。 源码如下: System.out.println("******lastmonth****thismonth**...
  • Java 日期计算

    2019-06-11 21:12:00
    Java 计算日期一天 方法一 SimpleDateFormat newdate = new SimpleDateFormat("HH:mm:ss");//设置时间格式 String time1 = newdate.format(new Date());//获取当前系统时间 String time2= "00:00:00";//...
  • Calendar首先我们需要知道的是,在Java中,日期有两种表示方法,Date和Calendar,Date用毫秒数表示当前时间,无法对日期进行操作,比如加一天,减一天等,而Calendar则可以对日期进行加减计算。首先来了解一下...
  • 用eval表达式就搞定了,但在Java语言里就没那么容易了,上网搜了一下没有找到满意的,小弟不才,网上很多代码看不明白,唉,无奈下,自己利用Java中的正则表达式做了一个简单的包括了加减乘除及小括号的计算方法。...
  • Java中,日期有两种表示方法,Date和Calendar,Date用毫秒数表示当前时间,无法对日期进行操作,比如加一天,减一天等,而Calendar则可以对日期进行加减计算。 首先来了解一下Calendar的几个方法和静态常量 ...
  • 因为字符串又占用空间又难以运算,相比之下,长整型只占用四个字节,普通的加减乘除运算更是不在话下,所以时间戳是最佳的日期时间存储方案。获取时间戳的代码很简单,只需调用System类的currentTimeMillis方法即可...
  • 获得指定时间的下一天的N种方法

    千次阅读 2016-07-26 00:08:42
    有时候在进行日期计算的时候需要对日期进行加减,比如给定一个时间T,我们需要查找T到T+1的数据,最简单的方法就是转换成毫秒后加上一天对应的毫秒数,再转换回来,但是这样显得不够优雅,那么Java中有哪些方法可以...
  • 因为字符串又占用空间又难以运算,相比之下,长整型只占用四个字节,普通的加减乘除运算更是不在话下,所以时间戳是最佳的日期时间存储方案。获取时间戳的代码很简单,只需调用System类的currentTimeMillis方法即可...
  • java实验四

    2020-11-23 22:53:58
    一、实验目的及要求 将你在实验3中设计的模拟堆栈程序,封装成一个类(注意访问控制的运用、getter和setter的运用、构造方法的设计等),并用这个堆栈类...d、 //实现日期加减一个整数后得到新的日期(加减天数);
  • JAVA实验五多态性.doc

    2020-05-19 06:00:52
    福建农林大学实验报告 系教研室 专业 年级 实验课程 姓名 学号 实验室号_ _ 计算机号 实验时间 指导教师签字 成绩 实验五 多态性 实验目的和要求 1掌握重载和类的多态性 2加减运算接收二个类型为复数的参数 3实验...
  • 7.5.3 给汽车个重载的方法 169 7.5.4 测试一下 169 7.5.5 重载容易引发误解的两个地方——返回类型和形参名 170 7.5.6 重载中的最难点——参数匹配原则 171 7.6 使用类的实例作为方法参数 172 7.6.1 超车方法...
  • java组件及事件处理(12)–ActionListener监听做计算器 一般文本框,按钮,菜单项,单选按钮会...在文本框中输入数字,回车会将文本框中的内容进行加减乘除的计算,得到的结果放进结果文本框中 import java.awt.Color;
  • java范例开发大全

    2013-03-08 20:06:54
    实例155 实现加减乘除的方法 240 8.3 面向对象的设计模式 241 实例156 Singleton单例模式 242 实例157 招聘(简单工厂模式) 243 实例158 同学聚会(工厂方法模式) 244 实例159 图书展(抽象工厂模式) 246 实例160...
  • 7.5.3 给汽车个重载的方法 169 7.5.4 测试一下 169 7.5.5 重载容易引发误解的两个地方——返回类型和形参名 170 7.5.6 重载中的最难点——参数匹配原则 171 7.6 使用类的实例作为方法参数 172 7.6.1 超车方法...
  • 7.5.3 给汽车个重载的方法 169 7.5.4 测试一下 169 7.5.5 重载容易引发误解的两个地方——返回类型和形参名 170 7.5.6 重载中的最难点——参数匹配原则 171 7.6 使用类的实例作为方法参数 172 7.6.1 超车方法...
  • java 面试题 总结

    2009-09-16 08:45:34
    round方法返回与参数最接近的长整数,参数1/2后求其floor. 27、String s = new String("xyz");创建了几个String Object? 两个 28、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序...
  • JAVA 范例大全 光盘 资源

    热门讨论 2012-03-07 16:30:00
    实例18 矩阵的加减和转置 43 实例19 数组实现顺序栈与队列 46 实例20 Arrays数组的应用 50 第5章 面向对象设计 54 实例21 图形面积与周长(抽象类) 54 实例22 宠物结婚(封装) 56 实例23 一个盒子(继承) ...
  • 因为字符串又占用空间又难以运算,相比之下,长整型只占用四个字节,普通的加减乘除运算更是不在话下,所以时间戳是最佳的日期时间存储方案。 获取时间戳的代码很简单,只需调用System类的currentTimeMillis方法即可...
  • 定义一个类,里面四个方法加减乘除,使用log4J打印计算结果,计算出每个方法执行的时间,毫秒为单位,代码如下:package com.company; import org.apache.log4j.Logger; import org.junit.After; import org....
  • java范例开发大全源代码

    热门讨论 2011-10-30 23:31:51
     实例155 实现加减乘除的方法 240  8.3 面向对象的设计模式 241  实例156 Singleton单例模式 242  实例157 招聘(简单工厂模式) 243  实例158 同学聚会(工厂方法模式) 244  实例159 图书展(抽象...
  • Java范例开发大全 (源程序)

    热门讨论 2011-04-27 07:47:22
     实例155 实现加减乘除的方法 240  8.3 面向对象的设计模式 241  实例156 Singleton单例模式 242  实例157 招聘(简单工厂模式) 243  实例158 同学聚会(工厂方法模式) 244  实例159 图书展(抽象工厂...
  • Java范例开发大全(全书源程序)

    热门讨论 2013-04-05 11:50:26
    实例155 实现加减乘除的方法 240 8.3 面向对象的设计模式 241 实例156 Singleton单例模式 242 实例157 招聘(简单工厂模式) 243 实例158 同学聚会(工厂方法模式) 244 实例159 图书展(抽象工厂模式) 246 ...

空空如也

空空如也

1 2 3 4
收藏数 68
精华内容 27
关键字:

java时间加减计算方法

java 订阅