Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何转换两个日期,一个在BST(当前日期)中,另一个在GMT中,以便可以比较方法前后的日期?_Java_Date_Timezone_Gregorian Calendar - Fatal编程技术网

Java 如何转换两个日期,一个在BST(当前日期)中,另一个在GMT中,以便可以比较方法前后的日期?

Java 如何转换两个日期,一个在BST(当前日期)中,另一个在GMT中,以便可以比较方法前后的日期?,java,date,timezone,gregorian-calendar,Java,Date,Timezone,Gregorian Calendar,如何转换两个日期,一个是BST(当前日期),另一个是GMT,以便使用日历日期before()和after()方法进行比较?我不知道英国夏令时是不是指英国夏季。我在一台有英语设置的笔记本电脑上运行。我不知道如何最好地进行比较,看一个比另一个大还是相等。 我想时区是成功使用calander date after()和before()方法的问题。我在根据两个日历检查平等性 我想比较日期,并且一直在使用公历。我有3个公历日期,第一个日期减去78个,第二个日期减去48个,第三个日期减去24个小时。这些日期

如何转换两个日期,一个是BST(当前日期),另一个是GMT,以便使用日历日期before()和after()方法进行比较?我不知道英国夏令时是不是指英国夏季。我在一台有英语设置的笔记本电脑上运行。我不知道如何最好地进行比较,看一个比另一个大还是相等。 我想时区是成功使用calander date after()和before()方法的问题。我在根据两个日历检查平等性

我想比较日期,并且一直在使用公历。我有3个公历日期,第一个日期减去78个,第二个日期减去48个,第三个日期减去24个小时。这些日期以格林尼治标准时间为单位。然后我得到我的当前日期,这是英国夏令时。我希望确定我的当前日期(即预订日期)何时在3个日期内,即78小时内、48小时内和24小时内。我希望通过Java.Util.Date来实现这一点

感谢您的帮助

那么:

Calendar calBst = new GregorianCalander();
calBst.setDate(date1);
calBst.setTimezone(TimeZone.getTimeZone("BST");

Calendar calGmt = new GregorianCalander();
calGmt.setDate(date2);
calGmt.setTimezone(TimeZone.getTimeZone("GMT");
calBst.before(calGmt);

我也有同样的问题,但答案并不明显。我们正在生产中使用此解决方案,效果良好。它是以图书馆为基础的

你所要做的就是使用第一种方法将你的日期转换成一个特定的公共时区并进行比较

要获取时区实例,您只需执行以下操作:

TimeZone.getTimeZone("BST");

我不完全理解这里的问题。你到底想比较哪类对象?如果您使用的是
java.util.Date
,那么它们对时区不敏感,它们是从1970-01-01 00:00:00 GMT开始以毫秒为单位定义的。嗨,Alex,我想比较一下日历。我有3个公历日期,第一个日期减去78个,第二个日期减去48个,第三个日期减去24个小时。这些日期以格林尼治标准时间为单位。然后我得到我的当前日期,这是英国夏令时。我希望确定我的当前日期(即预订日期)何时在3个日期内,即78小时内、48小时内和24小时内。我希望通过Java.Util实现这一点。Date@daveb但是你刚才对我的回答说你想使用Date类。我不明白。+1对于joda时间的使用-java.util.Date类很难使用。你好,Houcern和Alex,谢谢。我希望使用java.util.Date类来完成。我在想,如果不使用jodatimeI,我怎么能做到这一点?我在没有joda时间的情况下尝试实现这一点,已经浪费了我的时间。这似乎一点也不明显。如果您只想使用java库,您必须对时区之间的时差等内容进行硬编码,这是非常危险的。谢谢。我想使用Java日期库将BST转换为GMT Hi carlo,在进行比较时,上述两个日期是否允许在同一时区?可能您指的是不同的TZ。根据法律,它应该能正常工作。
TimeZone.getTimeZone("BST");