相关疑难解决方法(0)

Java计算从当前时间到事件的时间

我正在尝试计算足球比赛开始前的时间。

这是我所知道的:

  • 我有活动时间:2016-08-16T19:45:00Z
  • 我知道它的字符串格式是“ yyyy-M-dd'T'h:m:s'Z'
  • 我知道时区是“CET”。

我希望能够以天为单位计算从当前时间到此日期的差异。

这是我尝试过的:

    String gameDate = "2016-03-19T19:45:00'Z'"
    DateFormat apiFormat = new SimpleDateFormat("yyyy-M-dd'T'h:m:s'Z'");
    apiFormat.setTimeZone(TimeZone.getTimeZone("CET"));
    Date dateOfGame = apiFormat.parse(gameDate);

    DateFormat currentDateFormat = new SimpleDateFormat("yyyy-M-dd'T'h:m:s'Z'");
    currentDateFormat.setTimeZone(TimeZone.getTimeZone(userTimezone));
    Date currentDate = apiFormat.parse(currentDateFormat.format(new Date()));

    long lGameDate = dateOfGame.getTime();
    long lcurrDate = currentDate.getTime();
    long difference = lGameDate - lcurrDate;
    Date timeDifference = new Date(difference);

    String daysAway = new SimpleDateFormat("d").format(timeDifference);
    Integer intDaysAway = Integer.parseInt(daysAway);
Run Code Online (Sandbox Code Playgroud)

您可能想知道为什么我不只是获取游戏日期 (8) 并减去当前日期 (19)。在当前日期是 29 日而比赛日期是下个月的 3 日的极端情况下,我不会这样做。

java

5
推荐指数
2
解决办法
8525
查看次数

如何检查日期是否超过七天

我想检查两个日期是否超过一周,例如,检查两个日期是否有七天,

此时数据范围应仅在一周内(7天).

我试过这样的事,

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class IsDateRangeExceedsWeek 
{
    public static void main( String[] args ) 
    {
        try{

            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            Date fromDate = sdf.parse("2015-05-01");
            Date toDate = sdf.parse("2015-05-07");

            System.out.println(sdf.format(fromDate));
            System.out.println(sdf.format(toDate));

            if(fromDate.compareTo(toDate)>0){
                System.out.println("From Date should be less than To Date");
            } else if(fromDate.compareTo(toDate)==0){
                System.out.println("From Date is equal to To Date");
            } 

        }catch(ParseException ex){
            ex.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

java compare date

4
推荐指数
3
解决办法
1万
查看次数

SimpleDateFormat增加7个小时?

我正在尝试简单地减去日期并获得奇怪的结果.由于某些原因,当我使用SimpleDateFormat格式化它时,有7个额外的小时差异.

package timedemo;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Timedemo {

    public static void main(String[] args) {
        Date start = new Date(); // time right now
        Date stop = new Date();

        long startTime = start.getTime()-1000; // introduce a second of skew
        long stopTime = stop.getTime();

        SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");

        // First one shows up prior to 1970 epoch. Okay, except for 5 hour variance.
        // Probably a timezone thing, as I'm in EST (-5).
        System.out.println("New date is "+new Date(stopTime …
Run Code Online (Sandbox Code Playgroud)

java time date

3
推荐指数
1
解决办法
597
查看次数

scala中的日期差异

我需要一个函数来找到"yyyy-mm-dd"格式的两个日期之间的差异(天数).

val basedate = "1970-01-01"
val currdate = "2015-02-25"
val diff = currdate - basedate
Run Code Online (Sandbox Code Playgroud)

请建议.

scala date

3
推荐指数
1
解决办法
1万
查看次数

Java用时间戳计算时间

我试图计算两个时间戳之间的时间差,这是代码:

        Calendar calendar = Calendar.getInstance();
        java.util.Date now = calendar.getTime();
        Timestamp currentTimestamp = new Timestamp(now.getTime());
        System.out.println("Current\n"+currentTimestamp);

        DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
        Date date = dateFormat.parse("28/02/2015");
        Timestamp timestampBefore = new Timestamp(date.getTime());
        System.out.println("Before\n"+timestampBefore);

        Timestamp calculated = new Timestamp(currentTimestamp.getTime() - timestampBefore.getTime());
        System.out.println("Calculated\n"+calculated);
Run Code Online (Sandbox Code Playgroud)

输出:

Current
2015-02-28 12:12:40.975
Before
2015-02-28 00:00:00.0
Calculated
1970-01-01 13:12:40.975
Run Code Online (Sandbox Code Playgroud)
  1. 我可以理解为什么它会返回1970-01-01,但为什么它会13:12:40.975多返回 1 小时?

  2. 如何计算两个日期之间的差异,以便输出如下(基于此示例):
    年:0,月:0,天:0,小时:12,分钟:12,秒:40?

更新:对于低于 1.8 的 java,请查看http://www.joda.org/joda-time/index.html
,对于 java 1.8,请参阅答案。

此处类似的解决方案: Java 8:计算两个 LocalDateTime 之间的差异

java timestamp calendar date

3
推荐指数
1
解决办法
8752
查看次数

比较Java中的时间戳以获得天数差异

我正从数据库中检索两个时间戳(check_in和check_out).我需要比较两者以找出两个时间戳之间经过了多少天.如何在Java中完成?

timestamp

2
推荐指数
1
解决办法
2万
查看次数

Java如何计算时差

如果用户输入为2255且2305输出应为10分钟,如何计算24小时内的时差.我有一个想法是将输入分为2个部分,2个数字和2个数字.前2位是小时,是60到几分钟.然后加上第二个2位数,然后计算差异.我不想使用任何日期日历数据类型或API来解决它.谢谢

java time

2
推荐指数
1
解决办法
7325
查看次数

我想要在java中的两个日期之间的区别?

可能重复:
计算两个Java日期实例之间的差异
如何使用java计算两个日期之间的差异

我试图通过一些例子来区分两个日期,但我没有得到正确的答案.

java.text.DateFormat df = new java.text.SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
 java.util.Date date1 = df.parse("2012-09-14 15:26:14+00");
 java.util.Date date2 = df.parse("2012-08-30 15:26:14+00");
 long diff = Math.abs(date2.getTime() - date1.getTime());
 System.out.println("millisecond="+diff);
Run Code Online (Sandbox Code Playgroud)

我也想要月差,但它没有给我.它给了我不同的天,小时,分钟和秒,但不是月份.我做错了什么?请帮我

编辑:

java.text.DateFormat df = new java.text.SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
 java.util.Date date1 = df.parse("2012-09-30 15:26:14+00");
 java.util.Date date2 = df.parse("2012-08-30 15:26:14+00");
 long diff = Math.abs(date2.getTime() - date1.getTime());
 System.out.println(date2.getTime()+"date2");
 System.out.println(date1.getTime()+"date1");
 System.out.println("millisecond="+diff);
 diff=diff/1000;
 System.out.println("second="+diff);
 long days=diff/86400;
 days=days%86400;
 long hours=diff/3600;
 hours=hours%3600;
 long min=diff/60;
 min=min%60;
 hours=(hours-(24*days));
 String time=days+":"+hours+":"+min;
 System.out.println(time);
System.out.println("days="+days+":"+"hours="+hours+":"+"minutes"+min);
Run Code Online (Sandbox Code Playgroud)

这就是我想要做的.

java

2
推荐指数
1
解决办法
1万
查看次数

Java - 如何检查两个Date值是否相隔X天

我正在尝试删除数据库中具有早于当前日期10天的Date(java.util.Date)的条目.有没有办法比较日期内的"日"值.不仅要比较哪个Date值更大,还要确保两个Date值之间有X天.

java date

2
推荐指数
1
解决办法
2821
查看次数

如何在Java中以年月和日为单位找到两个日期之间的差异?

假设我有: 员工具有模型的startDate作为其属性变量和推广模式有promotionDate。我想知道员工在晋升之前工作了多长时间,我必须找到promotionDate 和startDate 之间的差异。如果我将 startDate 作为employee.getStartDate()和promotionDate 作为promotion.getPromotionDate,我怎么能找到在年月日差为任何日期,

任何帮助将非常感激。

更新:我解决了以下问题

String startDate = "2018-01-01";
String promotionDate = "2019-11-08";

LocalDate sdate = LocalDate.parse(startDate);
LocalDate pdate = LocalDate.parse(promotionDate);

LocalDate ssdate = LocalDate.of(sdate.getYear(), sdate.getMonth(), sdate.getDayOfMonth());
LocalDate ppdate = LocalDate.of(pdate.getYear(), pdate.getMonth(), pdate.getDayOfMonth());

Period period = Period.between(ssdate, ppdate);
System.out.println("Difference: " + period.getYears() + " years " 
                                  + period.getMonths() + " months "
                                  + period.getDays() + " days ");
Run Code Online (Sandbox Code Playgroud)

谢谢你。

java date date-difference

2
推荐指数
1
解决办法
4555
查看次数

标签 统计

java ×8

date ×6

time ×2

timestamp ×2

calendar ×1

compare ×1

date-difference ×1

scala ×1