- 浏览: 1589840 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class test16 { /** * @param args * @throws ParseException */ public static void main(String[] args) throws ParseException { // TODO Auto-generated method stub SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d1=sdf.parse("2012-09-08 10:10:10"); Date d2=sdf.parse("2012-09-15 00:00:00"); System.out.println(daysBetween(d1,d2)); System.out.println(daysBetween("2012-09-08 10:10:10","2012-09-15 00:00:00")); } /** * 计算两个日期之间相差的天数 * @param smdate 较小的时间 * @param bdate 较大的时间 * @return 相差天数 * @throws ParseException */ public static int daysBetween(Date smdate,Date bdate) throws ParseException { SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); smdate=sdf.parse(sdf.format(smdate)); bdate=sdf.parse(sdf.format(bdate)); Calendar cal = Calendar.getInstance(); cal.setTime(smdate); long time1 = cal.getTimeInMillis(); cal.setTime(bdate); long time2 = cal.getTimeInMillis(); long between_days=(time2-time1)/(1000*3600*24); return Integer.parseInt(String.valueOf(between_days)); } /** *字符串的日期格式的计算 */ public static int daysBetween(String smdate,String bdate) throws ParseException{ SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Calendar cal = Calendar.getInstance(); cal.setTime(sdf.parse(smdate)); long time1 = cal.getTimeInMillis(); cal.setTime(sdf.parse(bdate)); long time2 = cal.getTimeInMillis(); long between_days=(time2-time1)/(1000*3600*24); return Integer.parseInt(String.valueOf(between_days)); } }
评论
9 楼
tlghb
2013-03-13
有可能还要去除节假日
8 楼
Foxswily
2012-09-14
计算个日期要写这么多代码,各种抱怨早就有了,JSR-310http://sourceforge.net/apps/mediawiki/threeten/index.php?title=ThreeTen会有应对,大概要等到Java 8....
现在也有类库可用,比如Jodahttp://joda-time.sourceforge.net/
现在也有类库可用,比如Jodahttp://joda-time.sourceforge.net/
7 楼
willsonbin
2012-09-14
好东西.。之前写图书馆管理系统有遇到过..
6 楼
captmjc
2012-09-13
对,漏掉了时区因素。因为getTime()返回的永远是UTC时间,也就是时区永远比我们晚8个小时。所以,你还是calendar吧。或者不介意deprecated的话
public static int daysBetween(Date smdate, Date bdate) { return (int)(((bdate.getTime() + bdate.getTimezoneOffset() * 60000L)/ 86400000L) - ((smdate.getTime() + smdate.getTimezoneOffset() * 60000L) / 86400000L)); }
5 楼
Luob.
2012-09-13
开始写这东西的时候和你写的一样,可是发现 时间上设置巧妙点,计算出来就不对了.不得已在这样写,没有找到原因。10 个小时不足一天 就不知道 怎么算出来多了一个1
4 楼
Luob.
2012-09-13
captmjc 写道
captmjc 写道
public static int daysBetween(Date smdate,Date bdate) {
return (int)((smdate.getTime() / 86400000L) - (bdate.getTime() / 86400000L));
}
利用整除,算出两个日期分别距离epoch(1970-01-01T00:00:00.000Z)的天数,然后减一下就可以了
return (int)((smdate.getTime() / 86400000L) - (bdate.getTime() / 86400000L));
}
利用整除,算出两个日期分别距离epoch(1970-01-01T00:00:00.000Z)的天数,然后减一下就可以了
补充一下,你之所以先format再parse是为了消除时分秒的影响。整除其实已经解决了这个问题,但是速度显然...
速度确实 有很大影响,
但是 我想说的
2012-09-08 10:00:00----2012-09-15 00:00:00 其实相隔 7天
上面写的有待优化
3 楼
Luob.
2012-09-13
captmjc 写道
public static int daysBetween(Date smdate,Date bdate) {
return (int)((smdate.getTime() / 86400000L) - (bdate.getTime() / 86400000L));
}
利用整除,算出两个日期分别距离epoch(1970-01-01T00:00:00.000Z)的天数,然后减一下就可以了
return (int)((smdate.getTime() / 86400000L) - (bdate.getTime() / 86400000L));
}
利用整除,算出两个日期分别距离epoch(1970-01-01T00:00:00.000Z)的天数,然后减一下就可以了
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d1=sdf.parse("2012-09-08 10:00:00");
Date d2=sdf.parse("2012-09-15 00:00:00");
System.out.println(daysBetween(d1,d2));
这样测试的时候 为 -6
2 楼
captmjc
2012-09-13
captmjc 写道
public static int daysBetween(Date smdate,Date bdate) {
return (int)((smdate.getTime() / 86400000L) - (bdate.getTime() / 86400000L));
}
利用整除,算出两个日期分别距离epoch(1970-01-01T00:00:00.000Z)的天数,然后减一下就可以了
return (int)((smdate.getTime() / 86400000L) - (bdate.getTime() / 86400000L));
}
利用整除,算出两个日期分别距离epoch(1970-01-01T00:00:00.000Z)的天数,然后减一下就可以了
补充一下,你之所以先format再parse是为了消除时分秒的影响。整除其实已经解决了这个问题,但是速度显然...
1 楼
captmjc
2012-09-13
public static int daysBetween(Date smdate,Date bdate) {
return (int)((smdate.getTime() / 86400000L) - (bdate.getTime() / 86400000L));
}
利用整除,算出两个日期分别距离epoch(1970-01-01T00:00:00.000Z)的天数,然后减一下就可以了
return (int)((smdate.getTime() / 86400000L) - (bdate.getTime() / 86400000L));
}
利用整除,算出两个日期分别距离epoch(1970-01-01T00:00:00.000Z)的天数,然后减一下就可以了
发表评论
-
检测一个字符串是否在jvm的常量池中
2018-12-18 17:34 997public static boolean inPool( ... -
UTC时间, GMT时间 ,夏令时
2017-08-18 15:12 2281经常混淆于此,特地研究了一下,记录在此以备忘。 整个地 ... -
java 反射List
2017-02-18 01:58 5654package com.enhance.reflect; ... -
JDK1.5 Exchange 两个线程互换数据
2016-08-04 18:00 986import java.util.concurrent ... -
JDK1.5 CountDownLatch
2016-08-04 16:25 1055/* * 还有一个利用场景: ... -
java CyclicBarrier 循环障碍阻塞
2016-08-03 23:54 1008//一个同步辅助类,它允许一组线程互相等待,直到到达某个公 ... -
java 信号灯 Semaphore
2016-08-03 23:53 1823更多介绍http://blog.csdn.net/java20 ... -
java 使用读写锁设计一个缓存模型
2016-08-03 23:49 1416import java.util.HashMap; ... -
java 读写锁
2016-08-03 23:46 814import java.util.Random; i ... -
java 多个线程之间同步通信
2016-08-02 17:16 2396import java.util.concurrent ... -
jdk1.5 锁 Lock 和 Condition
2016-08-02 17:03 925// lock 练习 public class Lock ... -
JDK1.5 获取线程执行结果 Callable Future
2016-08-02 15:08 1172import java.util.Random; i ... -
JDK1.5 线程池
2016-08-02 14:48 801import java.util.concurrent ... -
java 多线程ThreadLocal
2016-08-02 00:13 1145import java.util.Random; ... -
java 定时器 Timer
2016-08-01 16:53 3892import java.util.Calendar; ... -
java 多线程同步+通信
2016-08-01 16:48 964/** *父子线程 交替打印10 次, 100次 ... -
java 线程同步
2016-08-01 16:43 1021import java.util.concurrent.l ... -
java多线程练习
2016-08-01 16:35 1840Java 传统多线程 Java 多线程同步 Java 多线 ... -
java 传统多线程
2016-08-01 16:34 1004/** * 传统多线程 */ public ... -
java 图片,剪切,缩放
2016-01-06 10:21 2230package out; import ja ...
相关推荐
计算两个日期相差的天数 本文主要介绍了计算两个日期相差的天数的方法,使用 Java 语言实现,...本文介绍了计算两个日期相差的天数的方法,并提供了三个相关代码示例,希望能够帮助读者更好地理解 Java 中的日期计算。
总的来说,Java提供了多种方式来计算两个日期之间相差的月数,选择哪种方法取决于你的具体需求,如是否需要考虑日期中的天数,以及是否处理跨闰年的边界问题。对于简单的情况,`ChronoUnit.MONTHS.between()`就足够...
### Java中计算两个日期相差几天 在Java编程中,经常需要处理与日期和时间相关的操作。其中一项常见的需求就是计算两个日期之间的差距。本篇文章将详细介绍如何在Java中计算两个日期相差几天,并深入探讨示例代码中...
接下来,我们需要一个函数来计算两个日期之间的总天数。C++标准库中的`chrono`模块可以方便地处理日期和时间的计算。我们可以通过`std::chrono::days`来表示日期差: ```cpp std::chrono::days daysBetween(const ...
### Java中计算两个日期相差天数 在Java中,计算两个日期之间相差的天数是一项常见且实用的功能。本文将详细介绍如何使用`SimpleDateFormat`、`Date`以及`Calendar`类来实现这一功能。 #### 代码解读 首先,我们...
calendar 比较2个日期相差的天数 还可以比较相差的秒数天数
在Java编程语言中,计算两个日期之间的天数差是一个常见的任务,这在处理时间相关的业务逻辑时非常有用。本文将详细介绍如何使用Java进行此类计算,包括基础方法、API的使用以及可能遇到的问题。 首先,Java提供了`...
在Android开发中,有时我们需要计算两个日期之间的差值,例如计算两个生日之间相差多少天,或者确定一个事件...以上就是如何在Android中获取两个日期相差天数的方法,你可以根据具体需求将这段代码整合到你的项目中。
在Java编程中,有时我们需要计算两个日期之间的差异,比如判断两个日期相差的天数。这里主要介绍两种不同的方法来实现这个功能。 首先,我们可以使用`java.util.Calendar`类来计算两个日期之间的差值。以下是一个...
### 比较两个日期之间相差的天数 在Java编程语言中,比较两个日期之间的差值是一个常见的需求,尤其是在处理日历相关的功能时。本文将详细介绍如何在Java中计算两个日期之间的天数差,并对给出的代码进行解析。 ##...
这两个函数结合使用,可以有效地帮助你在Java程序中处理日期之间的天数和周数的计算,这对于进行日期相关的业务逻辑或者数据分析来说非常有用。需要注意的是,这些函数假设日期都是按照格里高利历来计算的,如果你...
在Java编程中,计算两个日期之间相差的天数是一个常见的任务,这通常涉及到日期类的使用。Java提供了多种处理日期和时间的类,比如`java.util.Date`、`java.util.Calendar`以及`java.time`包中的`LocalDate`等。在本...
计算除周六日、法定节假日以外两个日期之间的间隔天数
获取两个日期之间的天数,使用整数计量而不是毫秒数约算,例:2017-11-26 23:59:59 与2017-11-27 00:00:00相差天数是1.
这个工具类是计算两个时间相差多少天的工具类以及格式化时间
综上所述,这个Java程序主要实现了两个功能:一是判断两个给定日期是否相同及计算它们之间的天数差;二是将给定日期向前或向后调整一定数量的天数。程序的核心是`DateType`类的设计与实现,它包含了日期的创建、打印...
压缩包里有2个文件,用于计算两个日期相差的工作日天数(排除周末和法定节假日): 1、excel表为2023年日历数据,并且备注工作日、周末,调休、节假日类型,可导入数据库。 2、SQL文件为2023年所有日期的插入SQL,并...
计算两日期之间的时间差,输入两个年月日 计算相差天数
在Java编程中,计算两个时间相差的天数是一项常见的任务,尤其在处理日期相关的业务逻辑时。本篇文章将深入探讨两种不同的方法来实现这个功能。 首先,我们可以利用`Calendar`类来计算日期之间的天数差。`Calendar`...
"指定两个日期计算相隔的天数"这一功能通常涉及日期函数的使用,这些函数能够帮助我们快速地得出两个日期间的差距,即天数。这里我们将详细探讨如何实现这一功能,以及相关的编程语言和工具。 1. **通用方法**: ...