Tag: jodatime

Joda Time – 时区之间的差异

我想用Joda时间将当前时间转换为特定时区的时间。 有没有办法将DateTime time = new DateTime()转换为特定时区,或者可能是为了得到time.getZone()和另一个DateTimeZone之间的小时数差异,然后再做time.minusHours或time.plusHours ?

joda DateTime解析器错误

我使用jodatime来解析日期时间字符串,如下所示: public static void main(String [] args){ String s =“16-Jul-2009 05:20:18 PDT”; 字符串模式=“dd-MMM-yyyy HH:mm:ss z”; DateTimeFormatter fm = DateTimeFormat.forPattern(patterns); DateTime d = fm.parseDateTime(s); 的System.out.println(d); } 我明白了 线程“main”中的exceptionjava.lang.IllegalArgumentException:格式无效:“16-Jul-2009 05:20:18 PDT”在“PDT”格式错误 at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:683) 怎么了? 如何正确解析时区?

为什么Joda DateTimeFormatter无法解析时区名称(’z’)

来自DateTimeFormatter javadoc : 区域名称:无法解析时区名称(’z’)。 因此时区解析如下: System.out.println(new SimpleDateFormat(“EEE MMM dd HH:mm:ss z yyyy”).parse(“Fri Nov 11 12:13:14 JST 2010”)); 在Joda无法做到: DateTimeFormatter dtf = DateTimeFormat.forPattern(“EEE MMM dd HH:mm:ss z yyyy”); System.out.println(dtf.parseDateTime(“Fri Nov 11 12:13:14 JST 2010”)); //Exception in thread “main” java.lang.IllegalArgumentException: Invalid format: “Fri Nov 11 12:13:14 JST 2010” is malformed at “JST 2010” //at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:673)

java.util.Date和Joda Time API之间的差异

可能重复: 我应该使用Java日期和时间类,还是使用像Joda Time这样的第三方库? 我可以使用一些关于什么时候使用Joda Time而不是基本的java.util.Date类的指导。 有什么好处? Joda Time是否允许您使用Date类做任何事情,或者它更容易使用或什么? 另外,我看到有关Joda Time是否是标准API的一部分的相互矛盾的信息。 是标准还是不标准?

Mockito:如何模拟JodaTime的界面

我使用JodaTime#DateTime ,我需要模拟它的行为。 由于无法直接模拟JodaTime#DateTime ,因此我创建了它的接口 Clock.java public interface Clock { DateTime getCurrentDateTimeEST(); DateTime getFourPM_EST(); DateTime getSevenPM_EST(); } JodaTime.java public class JodaTime implements Clock { @Override public DateTime getCurrentDateTimeEST() { return new DateTime(DateTimeZone.forID(“EST”)); } @Override public DateTime getFourPM_EST() { DateTime current = getCurrentDateTimeEST(); return new DateTime(current.getYear(), current.getMonthOfYear(), current.getDayOfMonth(), 16, 0, 0, 0, DateTimeZone.forID(“EST”)); } @Override public DateTime […]

计算两个日期(不包括周末)的日期

我在Spring 3.0项目中使用Joda time api来计算日期。 现在我有一个开始和结束日期,我希望在这两个日期之间每周周末或周六或周日进行。 我怎样才能做到这一点? 我看了这篇postJoda时间 – 两个约会之间的所有星期一 。 它提供了一些指导,但仍然含糊不清,如何排除两个日期。

Java Joda Time – 实现Date范围迭代器

我试图用Joda时间没有成功实现Date迭代器。 我需要一些东西,允许我从startDate到endDate的所有日子迭代 你知道怎么做吗?

ISO 8601 Java时间间隔解析

ISO 8601定义了表示时间间隔的语法。 表达时间间隔有四种方式: 开始和结束,例如“2007-03-01T13:00:00Z / 2008-05-11T15:30:00Z” 开始和持续时间,例如“2007-03-01T13:00:00Z / P1Y2M10DT2H30M” 持续时间和结束,例如“P1Y2M10DT2H30M / 2008-05-11T15:30:00Z” 仅限持续时间,例如“P1Y2M10DT2H30M”,带有其他上下文信息 如果结束值中缺少任何元素,则假定它们与包括时区的起始值相同。 该标准的这一特征允许简洁地表示时间间隔。 例如,包括开始和结束时间在内的两小时会议的日期可以简单地显示为“2007-12-14T13:30/15:30”,其中“/ 15:30”表示“/ 2007-12-” 14T15:30“(与开始时间相同),或每月结算期间的开始和结束日期为”2008-02-15 / 03-14“,其中”/ 03-14“表示”/ 2008-03 -14“(与开始的同一年)。 另外,通过在间隔表达式的开头添加“R [n] /”来形成重复间隔,其中R用作字母本身,[n]由重复次数代替。 省略[n]的值意味着无限次重复。 因此,要从“2008-03-01T13:00:00Z”开始重复“P1Y2M10DT2H30M”的间隔五次,请使用“R5 / 2008-03-01T13:00:00Z / P1Y2M10DT2H30M”。 我正在寻找一个好的Java解析器(如果可能与Joda-Time库兼容)来解析这个语法。 任何指向好图书馆的指针?

Java-如何使用Joda Time Jar计算准确的时差

我从http://sourceforge.net/projects/joda-time/files/joda-time/2.2/下载的Joda时间jar有问题。 当我使用以下代码段时,我可以得到结果 static void timeDifferencewithJoda() { String dateStart = “01/14/2012 09:29:58”; String dateStop = “01/15/2012 10:31:48”; SimpleDateFormat format = new SimpleDateFormat(“MM/dd/yyyy HH:mm:ss”); Date d1 = null; Date d2 = null; try { d1 = format.parse(dateStart); d2 = format.parse(dateStop); DateTime dt1 = new DateTime(d1); DateTime dt2 = new DateTime(d2); System.out.print(Days.daysBetween(dt1, dt2).getDays() + ” days, “); System.out.print(Hours.hoursBetween(dt1, […]

从当天的周数获得Joda Time的日期名称

我有一周中的一天数字:2(如果星期一开始一周,则应与星期二相匹配)。 从这个数字是否可以使用Joda Time获取Java中的当天名称? 在javascript中使用moment.js很容易做到: moment().day(my number)