Tag: jodatime

如何检查当前日期是否在java中两个重复发生的日期之间?

我正在尝试创建一个应用程序,如果今天是在学年,我就会陷入困境。 用户输入两个日期, 没有年份,每年重复一次 。 这些是学年的开始和结束日期。 我想检查当前日期是否在这两者之间,即使它重叠了两年。 因此,如果学校在11月开学,并在6月结束,如果今天是1月22日,它应该返回true。 但如果它的七月,它应该返回虚假。 我确实找到了这个问题: Php – 计算出它的学年 ,但它适用于学年,没有假期。 顺便说一下,如果有帮助,我有joda时间。 提前致谢。

如何检查一天中的时间是否介于两次之间?

在我的应用程序中,我创建了一个代表高中课​​程的对象。 该对象包含2个Calendar对象,表示每天的类的开始和停止时间。 当用户创建作业时,我想检查当前时间是否在任何类的两次之间。 如果是,我知道该分配是在该课程中创建的。 这是我当前的代码不起作用,因为.getTime()返回包含月和日的日期,而我只想比较小时和分钟。 那么如何修剪返回的日期以包含一天中的时间? 使用joda-time会更容易,如果是这样,应该使用哪些类? public void checkTimeFrame() { time = Calendar.getInstance().getTime(); ArrayList mList = mClassList; // Changes index if assignment falls under time frame of class for (int a = 0; a < mList.size(); a++) { if (mList.get(a).getStartTime() != null && mList.get(a).getEndTime() != null && time.after(mList.get(a).getStartTime().getTime()) && time.before(mList.get(a) .getEndTime().getTime())) { index = […]

如何在JodaTime中获取本地机器的TimeZone?

如何检测本地计算机所在的时区? 我试过DateTimeZone.getDefault()但是如果机器在德国的话,这并没有给我时区“德国”。 有可能吗?

如何从某个日期获取日期列表?

我有两个变量: startDate – 例如29/04/2018 howManyDays – 例如30 我想获得自29/04/2018日期起30天的清单。 你能告诉我怎么办? 我发现只有两天约会。 int days = Days.daysBetween(startDate, endDate).getDays(); List dates = new ArrayList(days); // Set initial capacity to `days`. for (int i=0; i < days; i++) { LocalDate d = startDate.withFieldAdded(DurationFieldType.days(), i); dates.add(d); } 我不知道如何更改代码。

对于不同的时区,没有时间转换日期

我以UTC格式存储日期并以用户时区显示。 但是,当我试图只在没有时间的情况下存储它时会误导到不同的日期。 例如:2016年6月5日(2016年5月6日)的计划活动。 此日期对于没有时区的所有地区都是唯一的。 如果GMT + 5:30时区的用户试图在05/06/2016添加事件,则ISO-8601格式为2016-05-05T16:00:00.000Z ,毫秒为1462464000000 。 然后来自GMT时区的用户尝试查看此事件。 该日期将是05/05/2016而不是05/06/2016 。 有没有办法在没有任何时区的情况下转换日期。

将String转换为Joda LocalTime格式(HH:mm:ss)并删除毫秒

DateTimeFormatter fmt = DateTimeFormat.forPattern(“HH:mm:ss”); LocalTime localTime = fmt.parseLocalTime(“02:51:20”); System.out.println(“LocalTime: “+localTime); 我只需要02:51:20,但输出为02:51:20.000。 有什么办法可以从输出中删除.000(毫秒)。

如何指定在Joda-Time中应该解析哪个世纪的日期

我有一些HR记录,其日期格式为dd/MM/yy ,我使用Joda-Time将它们标准化为dd-MM-yyyy 。 因此,例如,以下记录标准化如下 Input Output 30/01/14 –> 30-01-2014 15/07/99 –> 15-07-1999 24/03/84 –> 24-03-1984 根据各种标准(人类寿命的平均长度,公司一直存在的时间……),我可以假设99可能会参考。 但是,如果我想指定99指1899或其他一年结束于99 ,我该怎么做? 我正在阅读DateTimeFormatter模式的文档,以及这里的解释,看起来CenturyOfEra字段C可能是我想要使用的,但我不会明白我将如何使用它。

Joda DateTime:用字符串中的“CEST”解析日期

我想使用joda库解析DateTime(在scala中,但应该与java相同)。 来源看起来像 val dateParser = DateTimeFormat.forPattern(“yyyy-MM-dd HH:mm:ss z”) val date = dateParser.parseDateTime(“2012-08-28 15:35:00 CEST”) 在Java中,这看起来像 DateTimeFormatter dateParser = DateTimeFormat.forPattern(“yyyy-MM-dd HH:mm:ss z”); DateTime date = dateParser.parseDateTime(“2012-08-28 15:35:00 CEST”); 不幸的是,这不起作用,但抛出exception: java.lang.IllegalArgumentException: Invalid format: “2012-08-28 15:35:00 CEST” is malformed at “CEST” 为什么这不起作用? 当然我可以忽略“CEST”部分并解析剩下的部分,但在输入中“CEST”有时会被“CET”替换,所以我不想忽略它。

如何检查DateTime是使用Joda Time发生的重复事件?

我有一个代表重复事件开始的DateTime 。 A Days (每日期)将代表经常性的时期。 我认为这个反复出现的事件永远不会停止。 from = “2013-06-27” period = 3 days nextOccurence will be “2013-06-30”, “2013-07-03”, “2013-07-06”, and so on. “2013-07-03” is an occurence but “2013-07-04” isn’t an occurence. 我想知道在性能方面最好的方法是确定DateTime是否是重复事件的出现? 从长远来看,该计划将需要检查“2014-07-03”或“2015-07-03”是否出现。

使用带有jodatime对象的cassandra实体时构建中断

我正在使用spring-data-cassandra设置一个带弹簧启动的小项目。 当我在@Table对象上有joda time Datetime时,我意识到我的测试中断了。 堆栈显示如下错误: Caused by: org.springframework.data.cassandra.mapping.VerifierMappingExceptions: org.joda.time.Chronology: Cassandra entities must have the @Table, @Persistent or @PrimaryKeyClass Annotation 我的配置如下: @Configuration @EnableCassandraRepositories(basePackages =”com.myproject.cassandra.repository”) @ComponentScan(basePackages = “com.myproject.cassandra”) @EnableAutoConfiguration class CassandraConfiguration { private static ConfigContext confitConfig = ConfigContext.lookup(); //private static AdminContext confitAdmin = AdminContext.lookup(); DataSource cassandraDataSource static { confitConfig.register(DataSource.class); } Collection dataSources = confitConfig.list(DataSource.class) CassandraConfiguration() { cassandraDataSource […]