相关疑难解决方法(0)

比较两个java.util.Dates以查看它们是否在同一天

我需要比较两个Dates(例如date1date2),然后得出一个在同一天boolean sameDay的两个Dates共享的情况,如果它们不是,则为假.

我怎样才能做到这一点?这里似乎有一种混乱的旋风......如果可能的话,我想避免在JDK之外引入其他依赖.

澄清:如果date1date2分享同一年,一个月和一天,那么sameDay是真的,否则就是假的.我知道这需要一个时区的了解......这将是很好的时区通过,但我只要能与任何GMT或本地时间住,因为我知道这个行为是什么.

再次,澄清一下:

date1 = 2008 Jun 03 12:56:03
date2 = 2008 Jun 03 12:59:44
  => sameDate = true

date1 = 2009 Jun 03 12:56:03
date2 = 2008 Jun 03 12:59:44
  => sameDate = false

date1 = 2008 Aug 03 12:00:00
date2 = 2008 Jun 03 12:00:00
  => sameDate = false
Run Code Online (Sandbox Code Playgroud)

java datetime

236
推荐指数
9
解决办法
23万
查看次数

如何在Android Project中使用ThreeTenABP

我正在添加这个问题,因为我是Java和Android的新手,我搜索了几个小时试图解决这个问题.答案来自相关答案的组合,所以我想我会记录我为其他可能正在努力的人学到的东西.见答案.

对于一些背景知识,我的经验主要是PHP的Web开发和一点Ruby.我唯一的操作系统是Linux(Ubuntu Studio),我(不情愿地)在Android Studio 2.1.2中开发我的第一个Android应用程序.我的Java设置如下:

>java -version
> openjdk version "1.8.0_91"
> OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-3ubuntu1~15.10.1-b14)
> OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
Run Code Online (Sandbox Code Playgroud)

datetime android android-gradle-plugin threetenbp threetenabp

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

使用Joda时间比较两个日期

我想比较两个日期,但是我遇到了麻烦.1日期是从java.util.date对象创建的,另一个是手动制作的.以下代码是一个示例:

Date ds = new Date();
DateTime d = new DateTime(ds);

DateTime e = new DateTime(2012,12,07, 0, 0);
System.out.println(d.isEqual(e));
Run Code Online (Sandbox Code Playgroud)

然而,测试结果证明了false.我猜这是因为时间.如何检查这两个日期是否相等(我的意思是年,月,日相同)?

java time date jodatime

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

使用Java进行日期比较

我有两个约会:

  1. toDate(用户输入MM/dd/yyyy格式)
  2. currentDate(获得new Date())

我需要比较currentDatetoDate.我只有在toDate等于或大于时才显示报告currentDate.我怎样才能做到这一点?

java date

31
推荐指数
5
解决办法
11万
查看次数

仅比较两个日期的时间部分,忽略日期部分

给定两个Date对象,比较它们的时间部分之间的差异,完全忽略年,月和日,有什么好方法?

这与这个问题完全相反.

更新:这是未来参考的最终代码:

private long differenceBetween(Date currentTime, Date timeToRun)
{
    Calendar currentCal = Calendar.getInstance();
    currentCal.setTime(currentTime);

    Calendar runCal = Calendar.getInstance();
    runCal.setTime(timeToRun);
    runCal.set(Calendar.DAY_OF_MONTH, currentCal.get(Calendar.DAY_OF_MONTH));
    runCal.set(Calendar.MONTH, currentCal.get(Calendar.MONTH));
    runCal.set(Calendar.YEAR, currentCal.get(Calendar.YEAR));

    return currentCal.getTimeInMillis() - runCal.getTimeInMillis();
}
Run Code Online (Sandbox Code Playgroud)

java time datetime date

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

比较日期没有时间

可能重复:
如何在没有时间部分的情况下比较两个日期?

如何在java中没有时间比较日期?

Date currentDate = new Date();// get current date           
Date eventDate = tempAppointments.get(i).mStartDate;
int dateMargin = currentDate.compareTo(eventDate); 
Run Code Online (Sandbox Code Playgroud)

此代码比较时间和日期!

java time

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

将用户输入日期与当前日期进行比较

您好我试图将用户输入的日期(作为字符串)与当前日期进行比较,以便确定日期是更早还是更早.

我目前的代码是

String date;
Date newDate;
Date todayDate, myDate;     
SimpleDateFormat dateFormatter = new SimpleDateFormat("dd-MM-yyyy");

while(true)
{
    Scanner s = new Scanner (System.in);
    date = s.nextLine();
    Calendar cal = Calendar.getInstance();
    try {
        // trying to parse current date here
        // newDate = dateFormatter.parse(cal.getTime().toString()); //throws exception

        // trying to parse inputted date here
        myDate = dateFormatter.parse(date); //no exception
    } catch (ParseException e) {
        e.printStackTrace(System.out);
    }

}
Run Code Online (Sandbox Code Playgroud)

我试图将用户输入日期和当前日期都放入两个Date对象,以便我可以使用Date.compareTo()来简化比较日期.

我能够将用户输入字符串解析为Date对象.但是,当前日期cal.getTime().toString()由于是无效字符串而不会解析为Date对象.

怎么去做这个?提前致谢

java calendar date simpledateformat

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

如何比较java日期中的那一天?

我想在昨天和今天之间做一个简单的日期比较

if (yesterday.before(today)) {
 ...
}
Run Code Online (Sandbox Code Playgroud)

问题是,使用before方法,即使只有几秒钟的差异,我也会评估为真.我怎么可以只比较一天(因为我只想将它评估为真如果它是前一天(应该忽略分钟/秒)

先感谢您

java date

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

如何检查时间戳是否是当前日期的时间戳

我有一个调度程序,需要检查传入的时间戳是否是当天的时间戳.

传入时间戳的格式为Eg:1384956395.

如何在java中检查这个?请帮忙.我不是在使用Joda

java timestamp unix-timestamp

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

Android:检查系统日期是否小于或等于指定日期

在我的 android 应用程序中有一个用户定义的日期。此日期应大于或等于系统日期。如果是,则过程将继续。如果不是,那么它会提示后续日期应该大于或等于系统日期

我使用了这个代码段。

if (sys_date.after(df.parse((date.getText().toString())))) {
    Toast.makeText(getActivity(), "Follow up date should be greater than or equal to system date", Toast.LENGTH_SHORT).show();
} else {
    //process will continue
}
Run Code Online (Sandbox Code Playgroud)

但问题是:即使用户定义的日期等于系统日期,它也会给出吐司消息。

任何人都可以如此友好地解释这里发生了什么以及我如何解决这个问题。

提前谢谢

java android compare date

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