- 浏览: 1574694 次
- 来自: 上海
文章分类
- 全部博客 (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 948public static boolean inPool( ... -
UTC时间, GMT时间 ,夏令时
2017-08-18 15:12 2234经常混淆于此,特地研究了一下,记录在此以备忘。 整个地 ... -
java 反射List
2017-02-18 01:58 5600package com.enhance.reflect; ... -
JDK1.5 Exchange 两个线程互换数据
2016-08-04 18:00 915import java.util.concurrent ... -
JDK1.5 CountDownLatch
2016-08-04 16:25 1026/* * 还有一个利用场景: ... -
java CyclicBarrier 循环障碍阻塞
2016-08-03 23:54 964//一个同步辅助类,它允许一组线程互相等待,直到到达某个公 ... -
java 信号灯 Semaphore
2016-08-03 23:53 1792更多介绍http://blog.csdn.net/java20 ... -
java 使用读写锁设计一个缓存模型
2016-08-03 23:49 1374import java.util.HashMap; ... -
java 读写锁
2016-08-03 23:46 785import java.util.Random; i ... -
java 多个线程之间同步通信
2016-08-02 17:16 2372import java.util.concurrent ... -
jdk1.5 锁 Lock 和 Condition
2016-08-02 17:03 887// lock 练习 public class Lock ... -
JDK1.5 获取线程执行结果 Callable Future
2016-08-02 15:08 1135import java.util.Random; i ... -
JDK1.5 线程池
2016-08-02 14:48 768import java.util.concurrent ... -
java 多线程ThreadLocal
2016-08-02 00:13 1115import java.util.Random; ... -
java 定时器 Timer
2016-08-01 16:53 3853import java.util.Calendar; ... -
java 多线程同步+通信
2016-08-01 16:48 932/** *父子线程 交替打印10 次, 100次 ... -
java 线程同步
2016-08-01 16:43 984import java.util.concurrent.l ... -
java多线程练习
2016-08-01 16:35 1805Java 传统多线程 Java 多线程同步 Java 多线 ... -
java 传统多线程
2016-08-01 16:34 968/** * 传统多线程 */ public ... -
java 图片,剪切,缩放
2016-01-06 10:21 2181package out; import ja ...
相关推荐
计算两个日期相差的天数,计算两个日期相差的天数,计算两个日期相差的天数
Java 比较两个日期的代码,2段代码 1是计算两个日期相差多少天,2是比较两个日期先后
Java 计算两个日期之间相差的月数 Java 计算两个日期之间相差的月数
拿去可以直接用的计算2个日期间相差天数,并过滤了节假日和周末。
calendar 比较2个日期相差的天数 还可以比较相差的秒数天数
主要介绍了Java判断两个日期相差天数的方法,以实例形式对比分析了java进行日期换算及对比的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
求两个日期之间相差的天数 利用日期类将用户输入的两个日期字符串转换成为日期格式,用相应日期类操作方法将两个日期之间相差天数计算出来。
计算除周六日、法定节假日以外两个日期之间的间隔天数
获取两个日期之间的天数,使用整数计量而不是毫秒数约算,例:2017-11-26 23:59:59 与2017-11-27 00:00:00相差天数是1.
Java 语言的Calendar(日历),Date(日期),和DateFormat(日期格式)组成了Java标准的一个基本但是非常重要的部分。...下面这篇文章就给大家介绍了如何利用Java中Calendar计算两个日期之间的天数和周数,下面来一起看看吧。
这个工具类是计算两个时间相差多少天的工具类以及格式化时间
主要介绍了java计算两个时间相差天数的方法,感兴趣的小伙伴们可以参考一下
计算两日期之间的时间差,输入两个年月日 计算相差天数
压缩包里有2个文件,用于计算两个日期相差的工作日天数(排除周末和法定节假日): 1、excel表为2023年日历数据,并且备注工作日、周末,调休、节假日类型,可导入数据库。 2、SQL文件为2023年所有日期的插入SQL,并...
在java中我找了一下关于计算两个日期之间相差的天数方法有10多种实现方法,下面总结一下常用的几种计算两个日期之间相差的天数实例
输入两个年月日,(1)判断两个日期是否相同,并且将相差的天数显示出来;(2)将日期后推或前推N天,并将该日期输出。
16、计算传入的两个日期之间相差的天数 17、根据传入的年月返回该月的第一天 18、根据传入的年月返回该月最后的一天 19、获得当前月份的第一天 20、获得当前月份的最后一天 21、获取上月的第一天 22、获取上月的最后...
本文实例讲述了javascript比较两个日期相差天数的方法。分享给大家供大家参考。具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <...
通过两次调用计算时间差的方法,简单巧妙的判断两个时间相差的自然天数