我有2013年1月20日、2012年8月8日等格式的日期,它们有自己的特定时区。例如,20Jan2013的时区ID可能是Australia/Melbourne,而08Aug2012的时区ID可能是Europe/London。我想要做的是,根据这些时区和日期,计算给定日期该时区的UTC偏移量。到目前为止,我已经想出了这个:DateTimeFormatterdtf=DateTimeFormat.forPattern("ZZ");DateTimeFormatterdtf1=DateTimeFormat.forPattern("ddMMMYYYY");DateTimeZonezone=Date
我读到过,Java版本低于7,JodaTime对象比Java的内置对象更可靠。一个引用的原因是Joda对象是不可变的。为什么这是有益的?如果我想更改JodaDateTime对象的年、小时和时区,我需要制作三个副本! 最佳答案 IfIwanttochangetheyear,hour,andtimezoneofaJodaDateTimeobject,Ineedtomakethreecopies!是的,的确如此。当然,您也可以创建一个新对象,使用您喜欢的旧对象中的所有字段。这是一件非常好的事情——因为这意味着当你想依赖一个不变的对象时,它
有没有办法只比较具有isBefore函数的DateTime对象的日期?例如,DateTimestart=newDateTime(Long.parseLong());DateTimeend=newDateTime(Long.parseLong());当我这样做的时候,while(start.isBefore(end)){//addstartdatetotheliststart=start.plusDays(1);}这会导致不一致的行为(对于我的场景),因为它也考虑了时间,而我想要的只是使用isBefore比较日期。有什么办法可以做到吗?请告诉我。谢谢! 最佳答
要求是简单地获取给定时区的当前挂钟时间(包括正确的DST调整)。在SO中似乎有几个问题围绕着这个问题徘徊,但我似乎无法找到一个直接的答案(在SO中,Jodadoco或谷歌搜索)以一种低摩擦的方式来获得墙上的时间。似乎有了给定的输入(当前UTC时间和所需的TZ),我应该能够从JodaTime库中链接几个方法来实现我想要的,但在上述示例中似乎希望评估+处理偏移量/应用程序代码中的转换——如果可能的话,我想避免这种情况,只是根据可用的静态TZ规则集使用Jodas的最大努力。为了这个问题的目的,让我们假设我不会使用任何其他第三方服务(基于网络或其他二进制文件),而只是使用JDK和JodaTim
我有一个Instant(org.joda.time.Instant)的实例,我在一些api响应中得到它。我有另一个来自(java.time.Instant)的实例,这是我从其他调用中获得的。现在,我想比较这两个对象以检查哪一个获得最新的对象。怎么可能? 最佳答案 joda.time的getMillis()可以与java.time的toEpochMilli()进行比较。类文档:org.joda.time.Instant::getMillisjava.time.Instant::toEpochMilli示例代码。java.time.In
甲骨文数据库:selecttrunc(sysdate,'Month')monthfromdualJava:java.sql.DatesqlDate=resultSet.getDate("month");log.info(sqlDate);DateTimedateTime=newDateTime(sqlDate.getTime());log.info(dateTime);dateTime=dateTime.withMillisOfDay(0);log.info(dateTime);输出:2012-01-012012-01-01T01:00:00.000+07:002012-01-01T0
是否可以从joda-timeDateTimeFormatter获取模式字符串?DateTimeFormatterformatter=DateTimeFormat.forPattern("yyyyMMdd");StringoriginalPattern=formatter.??? 最佳答案 JodaTime不提供从DateTimeFormatter获取原始模式的方法。一个原因可能是DateTimeFormatter不一定是根据模式创建的;例如DateTimeFormat.forStyle()根本不使用模式。但是,如果您总是使用模式,则
我想要一个只存储时间而不存储日期或日期的类。Joda-Time中有这方面的类(class)吗?还是我必须使用日期时间并仅将时间部分转换为字符串然后使用该部分? 最佳答案 有LocalTime为此目的上课。阅读更多关于partialshere的信息.例如:LocalTimetime=newLocalTime(12,20);Stringformatted=time.toString("HH:mm"); 关于java-Joda-Time,没有日期的时间,我们在StackOverflow上找到一
我目前正在一个java项目中测试一些webapp技术,并且想知道为什么页面有时加载速度很快,有时需要将近5秒才能加载。终于发现是这一行LocalDateTimenow=newLocalDateTime();第一次调用时,需要永远获取当前时间。在那之后调用时,即使在完全不同的地方,它也非常快。我正在使用joda-timejoda-time1.6.2有没有人有过类似的经历?真的卡在这里了。我可以在我的应用程序早期使用LocalDateTime来加快后续调用-但这看起来很无聊。编辑我现在滥用Spring:@ServicepublicclassJodaTimeLoader{publicJoda
乔达ISODateTimeFormat文档说ISODateTimeFormat.dateTime()返回模式yyyy-MM-dd'T'HH:mm:ss.SSSZZ的格式化程序但是格式化程序返回一个“Z”代替+00:00看到这个-DateTimedt=DateTime.now(DateTimeZone.UTC);DateTimeFormatterpatternFormat=DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZZ");DateTimeFormatterisoFormat=ISODateTimeFormat.dateTim