Tag: jodatime

Java 8date时间API(java.time)和Joda-Time之间的区别

我知道有关于java.util.Date和Joda-Time的问题。 但经过一番挖掘,我找不到有关java.time API (由JSR 310定义的Java 8中的新增内容)与Joda-Time之间的差异的线索 。 我听说Java 8的java.time API比Joda-Time要干净得多。 但是我找不到比较两者的例子。 什么时候可以做Java的Joda时间不能? java.time能比Joda-Time做得更好吗? java.time的性能更好吗?

获取当前date和星期开始的星期开始和结束date

如果可能的话,我宁愿在下面的情况下使用joda或非joda解决scheme 比方说,如果我的一周从02/05/2012开始,并且给定的当前date是2011年2月22日。 我需要计算给定当前date的周开始和结束date。 所以我的解决scheme应该有一周开始为02/19和周末在02/25。 为了简单起见,我已经把我的一周从2011年2月5日开始,但可能是任何一天,我的一周总是有7天的时间。 我现有的代码是低于,但似乎没有按预期工作。 public Interval getWeekInterval(Date calendarStartDate, Date date) { Calendar sDate = Calendar.getInstance(); sDate.setTime(getMidnightDate(calendarStartDate)); Calendar eDate = Calendar.getInstance(); eDate.setTime(date); Calendar weekStartDate = (Calendar) sDate.clone(); logger.debug("Date:" + sDate.getTime()); while (sDate.before(eDate)) { weekStartDate = sDate; sDate.add(Calendar.DAY_OF_WEEK_IN_MONTH, 1); } return new Interval(weekStartDate.getTime(), sDate.getTime()); }

获取两个date之间的星期数。

我在一个项目中工作,我有两种types的date。 我想计算这两个date之间的星期数。 date可以在不同的年份。 有没有什么好的解决scheme呢? 我试图用Joda时间来实现这一点,这是在其他主题中提出的。 我不熟悉这个库,但我试图做这样的事情: public static int getNumberOfWeeks(Date f, Date l){ Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); c1.setTime(f); c2.setTime(l); DateTime start = new DateTime(c1.YEAR, c1.MONTH, c1.DAY_OF_MONTH, 0, 0, 0, 0); DateTime end = new DateTime(c2.YEAR, c2.MONTH, c2.DAY_OF_MONTH, 0, 0, 0, 0); Interval interval = new Interval(start, end); Period p = interval.toPeriod(); […]

如何将Joda DateTime与Jackson JSON处理器序列化?

我如何让jackson根据一个简单的模式(如“dd-MM-yyyy”)序列化我的Joda DateTime对象? 我试过了: @JsonSerialize(using=DateTimeSerializer.class) private final DateTime date; 我也试过: ObjectMapper mapper = new ObjectMapper() .getSerializationConfig() .setDateFormat(df); 谢谢!

我应该使用Javadate和时间类,还是像Joda Time一样使用第三方库?

我正在创build一个基于networking的系统,将在世界各国使用。 一种必须存储的数据是date和时间。 与Joda时间等第三方库相比,使用Javadate和时间类的优点和缺点是什么? 我想这些第三方库的存在是有原因的,但我从来没有真正比较过他们自己。

使用Joda时间库将datestring转换为DateTime对象

我有一个datestring,格式如下"04/02/2011 20:27:05" 。 我正在使用乔达时间库,并希望将其转换为DateTime对象。 我做了: DateTime dt = new DateTime("04/02/2011 20:27:05") 但是我收到以下错误: Invalid format: "04/02/2011 14:42:17" is malformed at "/02/2011 14:42:17" 如何将上述date转换为DateTime对象?

如何计算从现在的Joda时间stream逝的时间?

我需要计算从一个特定date到现在的时间,并显示与StackOverflow问题相同的格式,即: 15s ago 2min ago 2hours ago 2days ago 25th Dec 08 你知道如何用Java Joda-Time库实现它吗? 那里是否有一个已经实现的辅助方法,或者我应该自己写algorithm?

如何在几分钟内find两个Joda-Time DateTimes之间的差异

以下是我写的方法: public List<Map<String, Object>> loadNotYetInEmployee(int shift, Date date, int transitionVal, String type, User user) { DateTime datetime = new DateTime(date); datetime = datetime .plus(Period.minutes(shiftTiming.getSession1InTime())); List<Map<String, Object>> result = new ArrayList<Map<String, Object>>(); sql = SqlMapUtils.getSql("attendance.attendancestatus.latein", parameters); result = getJdbcTemplate().queryForList(sql); for (int i = 0; i < result.size(); i++) { Date punchInTime = (Date) result.get(i).get("punchtime"); DateTime punchTime […]

Java中两个date之间的差异?

我需要find两个date之间的天数 :一个来自报告,另一个来自当前date。 我的片段: int age=calculateDifference(agingDate, today); 这里calculateDifference是一个私有方法, agingDate和today是Date对象,只是为了您的澄清。 我已经从一个Java论坛, 线程1 / 线程2两篇文章。 它在独立的程序中工作正常,但是当我将这个包含在我的逻辑中来从报告中读取的时候,我得到了一个非常不同的值。 为什么会发生,我该如何解决? 编辑: 与实际天数相比,我获得的天数更多。 public static int calculateDifference(Date a, Date b) { int tempDifference = 0; int difference = 0; Calendar earlier = Calendar.getInstance(); Calendar later = Calendar.getInstance(); if (a.compareTo(b) < 0) { earlier.setTime(a); later.setTime(b); } else { earlier.setTime(b); later.setTime(a); } while (earlier.get(Calendar.YEAR) […]