java计算某天与今天相差的天数

2019-03-23 12:24|来源: 网路


java计算某天与今天相差的天数


当天使用Calendar.getInstance(),日期传入的是yyyy-MM-dd格式的字符串

public int daysBetween(String dateStr) throws ParseException {
    Date today = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    Date compareDate = sdf.parse(dateStr);
              
    Calendar cal = Calendar.getInstance();
    cal.setTime(compareDate);
    long time1 = cal.getTimeInMillis();
              
    cal.setTime(today);
    long time2 = cal.getTimeInMillis();
    long between_days = (time2 - time1) / (1000 * 3600 * 24);
      
    return nteger.parseInt(String.valueOf(between_days));
}


整理于网络


相关问答

更多
  • mysql常用的日期加减函数与实例教程 MySQL 日期类型 MySQL 日期类型:日期格式、所占存储空间、日期范围 比较。 日期类型 存储空间 日期格式 日期范围 ------------ --------- --------------------- ----------------------------------------- datetime 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 timesta ...
  • 在datetime模块里有一个计算时间差的。 timedelta, 很简单。你让两个datetime对象相减就得到timedelta, from datetime import datetime #构造一个将来的时间 future = datetime.strptime('2016-12-31 8:13:01','%Y-%m-%d %H:%M:%S') #当前时间 now = datetime.now() #求时间差 delta = future - now hour = delta.seconds/60/ ...
  • 最简单的方式就是把两个日期通过getTime转换成时间戳,再把得到的时间戳相减,得到的值/1000就是秒,把秒换成天,小时,分钟应该难不倒你了吧
  • #获取当前的时间 today = Time.new; puts "当前日期:" + today.strftime("%Y-%m-%d %H:%M:%S");#采用格式化输出 #获取指定日期的时间 如 2010-08-30 20:50:01 day = Time.local(2010, 8 , 30 , 20, 50, 1); puts "指定日期:" + day.strftime("%Y-%m-%d %H:%M:%S"); #获取指定日期的秒数(就是1970年到指定日期的秒数) sec1 = day.to_ ...
  • 在Python编程中,使用datetime模块计算两个时间的差: >>> import datetime >>> d1=datetime.datetime(2015,7,5) >>> d2=datetime.datetime(2005,7,4) >>>(d1-d2).seconds //结果86400s # 计算两个时间的间隔天数 # 注意:输入月份和天时,不能输入08,09等,会被识别为 8 进制而出错!(8进制是不超过07的) # 解决办法:要把月份和天前面的0去掉。
  • 可以用datediff函数。 创建表及插入数据: create table test (begindate datetime, enddate datetime); insert into test values ('2015-01-01','2015-07-13') 执行: select datediff(day,begindate,enddate) from test; 结果:
  • 假设这个日期在A1,B1输入: =DATE(YEAR(A1),MONTH(A1),DAY(A1)) 即可得到你要的结果
  • 那么首先,你应该把它们作为字符串处理。 大多数情况下,您应该使用实际描述您正在使用的数据的数据类型来处理它们。 我建议您使用Joda Time ,这是一个比Date / Calendar更好的API。 在这种情况下,您应该使用LocalDate类型。 然后可以使用: int days = Days.daysBetween(date1, date2).getDays(); Well to start with, you should only deal with them as strings when y ...
  • 我已经为我的需求创建了一个函数,对于其他可能有用的人来说,它是下面的。 它基本上将日期作为字符串返回,我可以选择返回格式。 如果日期超出允许范围(-2 / +1天),则返回空字符串。 Function SetDateFromDay(ByVal strdate As String, ByVal strReturnFormat As String, ByVal strTitle As String) As String Dim dteDate As DateTime = Date.UtcNow ...
  • 算术怎么样? package com.example; import java.text.SimpleDateFormat; import java.util.Date; public class DayDifference { public static void main(String[] args) throws Exception { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); D ...