Tag: 日历

考虑AM / PM,计算Java中的日期/时间差

我想使用Date和Calendar类计算java中两个日期/时间之间的差异。 我的格式是“2012-01-24 12:30:00 PM”。 我已经实现了我自己的方法,并且谷歌它与其他人合作,但没有得到正确的提示来处理AM和PM值。 只要时间有12(上午/下午),日期/时间差就会受到影响。 例如,如果我有日期/时间“2012-01-24 12:30:00 PM”和“2012-01-24 02:30:00 PM”,则显示差异为10小时。 考虑到此链接上的代码,如何修改它以处理AM和PM。 要将字符串日期转换为日期,请使用以下代码: String sessionTimeStart = “2012-01-24 12:30:00 PM”; String sessionTimerEndOrCurrent = “2012-01-24 02:30:00 PM”; SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss a”); Date d1 = null; Date d0 = null; try { d1 = format.parse(sessionTimeStart); d0 = format.parse(sessionTimerEndOrCurrent); } catch (ParseException e1) { // TODO […]

如何使静态日历线程安全

我想对一些静态方法使用Calendar并使用静态字段: private static Calendar calendar = Calendar.getInstance(); 现在我读java.util.Calendar不是线程安全的。 如何使这个线程安全(它应该是静态的 )?

2月java.util.Calendar的一个奇怪的行为

我遇到了来自java.util.Calendar的奇怪行为: import static org.junit.Assert.*; import org.junit.Test; import java.util.Calendar; public class Tester1 { @Test public void test_monthOfDate() { assertEquals(1, monthOfDate(2013, 1, 30)); // OK assertEquals(1, monthOfDate(2013, 1, 31)); // OK // Start of February assertEquals(2, monthOfDate(2013, 2, 1)); // FAIL assertEquals(2, monthOfDate(2013, 2, 28)); // FAIL // to the end of it // and after that […]

有没有一个好方法来获得即将到来的星期三的日期?

有没有一个好方法来获得即将到来的星期三的日期? 也就是说,如果今天是星期二,我想在本周获得星期三的日期; 如果今天是星期三,我想得到下周三的日期; 如果今天是星期四,我想在接下来的一周得到星期三的日期。 谢谢。

替换java.util.Date(年,月,日)的可接受方式是什么

我正在尝试做一些非常简单的事情,但是开始意识到Java中的日期有点像雷区。 我想要的只是通过三个整数组(一年,一个月和一个日期)创建一些Date对象,对它们进行一些简单的测试(沿着日期B之前和1990年1月1日之后的日期A),将它们转换为java.sql.Date对象,并通过JDBC将它们传递给数据库。 使用java.util.Date(int year,int month,int day)构造函数java.util.Date(int year,int month,int day)一切都非常简单并且工作正常。 当然那个构造函数是折旧的,我想避免在我写的新代码中使用折旧调用。 然而,解决这个简单问题的所有其他选项似乎都很愚蠢。 没有使用折旧的构造函数,真的没有简单的方法可以做我想要的吗? 我知道所有Java日期相关问题的标准答案是“使用joda时间”,但我真的不想开始在第三方库中找到这样一个看似微不足道的问题。

查找Java中一个月的天数

你如何找到Java中一个月的天数?

Java:如何获得一个月中x天的日期(例如2012年2月的第三个星期一)

我有点挣扎于此。 我想设置我的日历让我们说: 2012年2月的第三个星期一。我没有找到任何使用Java的方法。 例如,如果我想设置2011年圣诞节的日历,我可以通过这种方式轻松完成: Calendar when = Calendar.getInstance(); when.set (Calendar.MONTH, Calendar.DECEMBER); when.set (Calendar.DAY_OF_MONTH, 25) when.set (Calendar.YEAR, 2011); 但我很遗憾如何设置它让我们说2012年阵亡将士纪念日,即5月的最后一个星期一。 这是我的代码,但这显然是错误的,因为我根本无法假设5月的最后一个星期一将在那年5月的第4周: Calendar when = Calendar.getInstance (); when.set (Calendar.DAY_OF_WEEK,Calendar.MONDAY); when.set (Calendar.MONTH, Calendar.MAY); when.set (Calendar.WEEK_OF_MONTH, 4) when.set (Calendar.YEAR, 2012); 关于我如何以编程方式找出的任何建议,在2012年5月的哪个星期(例如上面的例子)是最后一个星期一? 假设我可以获得该信息,我应该能够使我的代码在上面工作。 我需要一些基本上适用于任何其他例子的东西。 可以为相同的场景提供确切日期的东西。 例子: 哪个日期是: 2015年5月的第3个星期四 2050年6月1日星期一 2012年12月4日星期二 2000年7月2日星期三 我真的需要这个用于我的项目,我确信它很简单,但是我在这个没有任何实际结果的情况下突破了我的头脑:)并且在网上也找不到任何东西。 添加: 好的,这是我一个月的最后一个星期一的地方: when.set (GregorianCalendar.MONTH, GregorianCalendar.MAY); when.set (GregorianCalendar.DAY_OF_WEEK, Calendar.MONDAY); when.set […]

修改日历中的周

您好我正在使用Java中的Calendar 我想要的是更改我的日历值,并具有以下/上周。 我试过了 Calendar cal = Calendar.getInstance(); cal.set(Calendar.DATE, cal.DATE-7); 但它很奇怪

Java Calendar Object减去一个月

我试图通过这样做来填充日历对象: Date now = new Date(System.currentTimeMillis()); Calendar cal = Calendar.getInstance(); cal.setTime(now); 现在是2013-11-26,但是当我打印出来的时候 cal.get(Calendar.MONTH) 它将返回10。 我怎样才能解决这个问题?

计算工作日,包括假期

我需要计算两个日期之间的工作日。 例如:我们7月4日有假期(在美国)。 所以,如果我的日期是date1 = 07/03/2012 date2 = 07/06/2012 没有工作日b / w这些日期应该是1,因为7月4日是假日。 我有一个下面的方法来计算工作日,这只会计算周结束而不是假期。 有没有办法计算假期….请帮我这个。 public static int getWorkingDaysBetweenTwoDates(Date startDate, Date endDate) { Calendar startCal; Calendar endCal; startCal = Calendar.getInstance(); startCal.setTime(startDate); endCal = Calendar.getInstance(); endCal.setTime(endDate); int workDays = 0; //Return 0 if start and end are the same if (startCal.getTimeInMillis() == endCal.getTimeInMillis()) { return 0; } if […]