请问如何实现日期时间的减操作 好象有这样的方法。两个日期的相差。你可以用 jbuilder 的help 找找! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以使用Calendar取得两个日期相对月或年的序号,然后相减就得了两个日期相差多少天。 两个时间都是字符格式,完整的年、月、日、小时、分、秒、毫秒。相减后,如果毫秒大于0,就进位。这是我写的一段,你看一下是JAVASRIPT/**返回加上天数的日期对象。*/function getContrastDateWith(beginDate,addDay,type){ var MinMilli = 1000 * 60; var HrMilli = MinMilli * 60; var DyMilli = HrMilli * 24; var oldDay=Math.round(beginDate.getTime() / DyMilli); var ContrastDate=new Date(); if (type==1)//增加日期 { ContrastDate.setTime((parseInt(oldDay)+parseInt(addDay))*DyMilli); } else { ContrastDate.setTime((parseInt(oldDay)-parseInt(addDay))*DyMilli); } return ContrastDate;}/**差别天数。*/function getContrastDay(firstDate,secondDate){ var MinMilli = 1000 * 60; var HrMilli = MinMilli * 60; var DyMilli = HrMilli * 24; return (Math.round(secondDate.getTime() / DyMilli)-Math.round(firstDate.getTime() / DyMilli));}function returnDateObj(dateStr){ var obj; obj = new Date(dateStr.substring(0,4),(parseInt(dateStr.substring(5,7))-1),dateStr.substring(8,10)); // 创建 Date 对象。 return obj;}=====================================================================================String dateStr1 = "2003-12-23 14:14:15.456";String dateStr2 = "2003-12-23 14:15:25.789";SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");Date date1 = sdf.parse(dateStr1);Date date2 = sdf.parse(dateStr2);long result = date2.getTime() - date1.getTime(); //时间差(毫秒)System.out.println(result); //毫秒System.out.println((result + 500) / 1000); //秒=====================================================================================String dateStr1 = "2003-12-23 14:14:15.456";String dateStr2 = "2003-12-23 14:15:25.789";SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");Date date1 = sdf.parse(dateStr1);Date date2 = sdf.parse(dateStr2);long result = date2.getTime() - date1.getTime(); //时间差(毫秒)System.out.println(result); //毫秒System.out.println((result + 500) / 1000); //秒 正则表达式取值问题 怎样知道Socket断开? 大家帮忙!着急!着急! 关于正在表达式的提取问题 java中几个读写存档的问题 一个久而未决的问题,有三个贴子 求助!数据结构题. 50 分 请教一个低级问题 ? 成都:谁有<java2编程详解>这本书啊,如果有的话,小弟可以用<windows程序设计>换着看.. 如何设置块捷键 关于java的system.arraycopy 一个简单的用于http服务器的线程池的例子 Sun Java Socket通讯问题?是否不支持1400Bytes以上长度的传输?
相减后,如果毫秒大于0,就进位。这是我写的一段,你看一下是JAVASRIPT/**返回加上天数的日期对象。*/
function getContrastDateWith(beginDate,addDay,type)
{
var MinMilli = 1000 * 60;
var HrMilli = MinMilli * 60;
var DyMilli = HrMilli * 24;
var oldDay=Math.round(beginDate.getTime() / DyMilli);
var ContrastDate=new Date();
if (type==1)//增加日期
{
ContrastDate.setTime((parseInt(oldDay)+parseInt(addDay))*DyMilli);
}
else
{
ContrastDate.setTime((parseInt(oldDay)-parseInt(addDay))*DyMilli);
}
return ContrastDate;
}/**差别天数。*/
function getContrastDay(firstDate,secondDate)
{
var MinMilli = 1000 * 60;
var HrMilli = MinMilli * 60;
var DyMilli = HrMilli * 24;
return (Math.round(secondDate.getTime() / DyMilli)-Math.round(firstDate.getTime() / DyMilli));
}function returnDateObj(dateStr)
{
var obj; obj = new Date(dateStr.substring(0,4),(parseInt(dateStr.substring(5,7))-1),dateStr.substring(8,10)); // 创建 Date 对象。
return obj;
}
=====================================================================================
String dateStr1 = "2003-12-23 14:14:15.456";
String dateStr2 = "2003-12-23 14:15:25.789";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");Date date1 = sdf.parse(dateStr1);
Date date2 = sdf.parse(dateStr2);long result = date2.getTime() - date1.getTime(); //时间差(毫秒)System.out.println(result); //毫秒
System.out.println((result + 500) / 1000); //秒
=====================================================================================
String dateStr1 = "2003-12-23 14:14:15.456";
String dateStr2 = "2003-12-23 14:15:25.789";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");Date date1 = sdf.parse(dateStr1);
Date date2 = sdf.parse(dateStr2);long result = date2.getTime() - date1.getTime(); //时间差(毫秒)System.out.println(result); //毫秒
System.out.println((result + 500) / 1000); //秒