我想有一个compareTo方法忽略java.util.Date的时间部分.我想有很多方法可以解决这个问题.什么是最简单的方法?
我在Java中使用compareTo方法尝试检查某个日期是否大于或等于另一个日期之后的24小时.
如何确定要比较日期的整数?
我有一个Timestamp和Date变量,我想比较它的相等性(当然只有日期部分).令我惊讶的是,构造函数Date(long)节省了时间部分,所以这段代码不正确:
date = resultSet.getDate(1);
timestamp = resultSet.getTimestamp(2);
//...
if (date.equals(new Date (timestamp.getTime())) ...
Run Code Online (Sandbox Code Playgroud)
我用以下代码解决这个问题:
DateFormat dateFormat = new SimpleDateFormat ("yyyyMMdd");
if (date.equals(dateFormat.parse(dateFormat.format(timestamp)))) ...
Run Code Online (Sandbox Code Playgroud)
或者我可以在sql查询中将时间戳转换为日期,但我也需要时间戳表示.有没有更好的方法来从时间戳中删除时间部分.
我有2个日期变量,Date1和Date2.我想检查日期1是否与Date2在同一天(但允许它们有不同的时间).
我该怎么做呢?
这看起来真的很容易,但我正在努力.
编辑:我想避免外部库和东西
编辑:我的区域想法是删除小时,分钟,秒,但这些功能在Java中标记为折旧.那我该怎么用????
如果我在Java(Android)(Date1和Date2)中有两个日期,我怎么知道Date2是否在Date1的同一天内?(注意:如果Date2-Date1 <24小时则不行).一些例子(同样的月份和年份)
Date1: day=14 hour=00:00 Date2: day=14 hour=00:00 --> Result TRUE
Date1: day=13 hour=23:59 Date2: day=14 hour=00:00 --> Result FALSE
Date1: day=14 hour=05:00 Date2: day=14 hour=00:00 --> Result TRUE
Date1: day=14 hour=00:00 Date2: day=15 hour=00:00 --> Result FALSE
Run Code Online (Sandbox Code Playgroud)
谢谢
我比较两个日期,一个是一般日期,另一个是格里高利历.
当我试图比较两个日期时,结果是假的,
后来我意识到这是由于时差.因此,即使两个日期相同且时间不同,我希望它返回true或将后者的日期设置为default.ie,0
Eg: Start Date : Wed May 08 00:00:00 CAT 2013
End Date : Wed May 08 00:40:30 CAT 2013
Run Code Online (Sandbox Code Playgroud)
我尝试了日历API,设置(年,月,日,小时,分钟,秒); 但设置年,月和日我不知道.请帮我解决这个问题.