问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

java时间加减

提问网友 发布时间:2022-04-21 05:48
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
5个回答
热心网友 回答时间:2022-06-18 07:49

附上代码:


        Date date = new Date("2014/1/10 18:20");
        Date date2 = new Date("2014/1/11 3:5");
        long temp = date2.getTime() - date.getTime();    //相差毫秒数
        long hours = temp / 1000 / 3600;                //相差小时数
        long temp2 = temp % (1000 * 3600);
        long mins = temp2 / 1000 / 60;                    //相差分钟数
        System.out.println("date2 与 date 相差" + hours + "小时"+ mins + "分钟");



****************************************希望能够帮助到你!************************************************
如果我的回答对你有帮助,
别忘了点击我的回答下方【选为满意答案】按钮。
谢谢!

热心网友 回答时间:2022-06-18 07:49

1.用java.util.Calender来实现

Calendar calendar=Calendar.getInstance();
calendar.setTime(new Date());
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//今天的日期
calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+1);//让日期加1
System.out.println(calendar.get(Calendar.DATE));//加1之后的日期Top 

2.用java.text.SimpleDateFormat和java.util.Date来实现

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

GregorianCalendar gc=new GregorianCalendar(); 
gc.setTime(new Date); 
gc.add(field,value); 
value为正则往后,为负则往前 
field取1加1年,取2加半年,取3加一季度,取4加一周 
取5加一天....

*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参数表示要加减的数量.

热心网友 回答时间:2022-06-18 07:50
public static void main(String[] args){
//初始化日期时间
Calendar cal1 = Calendar.getInstance();
cal1.set(2014, 1, 10, 18, 20);
Calendar cal2 = Calendar.getInstance();
cal2.set(2014, 1, 11, 3, 5);
//获取TimeInMillis 毫秒级别
long time1 = cal1.getTimeInMillis();
long time2 = cal2.getTimeInMillis();
//计算时间差
long lagTime = time2 - time1;
System.out.println("time1="+time1+"time2="+time2+"lagTime="+lagTime);
//计算相差的小时数
long laghour = lagTime/1000/60/60;
//计算相差的分钟数
long lagMinute = lagTime/1000/60-laghour*60;
System.out.println("laghour=["+laghour+"] lagMinute=["+lagMinute+"]");
}

运行输出为:
time1=1392027618682time2=1392059118682lagTime=31500000
laghour=[8] lagMinute=[45]
热心网友 回答时间:2022-06-18 07:50
用SimpleDateFormat把这2个日期转成Date,
long date1=d1.getTime();
long date2=d2.getTime();
long days=(date1-date2)/(24*60*60*1000)
热心网友 回答时间:2022-06-18 07:51
Date a1=new Date("2014/1/10 18:20");Date a2=new Date("2014/1/11 3:20");long millis=a2.getTime()-a1.getTime();//计算他们之间时间差(毫秒)int hours=millis/1000/60/60;//计算相差多少小时
millis = millis - hours*60*60*1000;//除去小时数后剩余毫秒数int minutes=millis/1000/60;//计算相差多少分钟
millis = millis - minutes*60*60*1000;//除去分钟数后剩余毫秒数
int seconds = millis/1000;
millis = millis - seconds*1000;System.out.println(“它们之间相差”+hours+"小时"+minutes+"分钟"+seconds+"秒"+millis+"毫秒");

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

java 获取当前时间与零点的时间差 java中标识符的使用问题 java 比较时分秒时间差 怎么在java中输入一个数,然后输出结果? java中%代表什么意思? JAVA新手,计算两个时间差 java 计算两个时间之间的差。 java计算两个时间相差多少小时 java时间差计算 java date 计算时间差 java如何计算工作日之间的时间差 Java计算两个日期时间相差几天,几小时,几分钟等 java 计算两个时间相差多少秒 java中怎么获取时间差? java计算时间差的几种方法 奢侈品有哪些上市公司 公司企业类型有什么? 证券投资选修课期末论文 关于股票的分析报告 公司注销详细流程? 公司注销都需要什么资料 java中如何在代码中判断时间过了10秒 计算Java程序执行时间的几种方法 通过java如何计算sql数据库中两个时间差 iphone 4 的apple ID 密码忘记了怎么找回? 有些文件上标有什么字什么号的,那是什么意思?那能够反映文件的一些什么内容? 苹果4手机忘记ID密码怎么恢复原厂设置? 苹果4忘记了ID和密码怎么激活? 电脑里带编号的文件是什么? 苹果4需要激活但是id密码忘了怎么办! 电脑带编号文件是什么文件 苹果四忘了ld密码怎么办 哪些红头文件要编号 苹果4的apple id密码忘了怎么办 有详细清单编码的文件是什么书 浠的拼音 文书号/决定书号/文书编号是什么意思 文件的“编码”是指什么? win10开快速启动有什么坏处,开不开好 招标文件项目编号是什么意思 文件编号怎么编制
Top