在乔达时代 ,是否有办法得到星期一(星期一)的第一天的date。 例如,我想根据今天的当前date21/01/11找出星期一星期几 提前欢呼。 编辑:我也希望find一个星期结束的date,即星期日的date。 干杯
我正在评估将我的项目从Joda-Time的使用迁移到Java 8中的java.time包 。 在Joda-Time,我大量使用了Interval类。 我在java.time中找不到像这样的东西。 有类似的课程吗?
LocalDate#toDateMidnight内容如下: 从v1.5开始,build议您避免使用DateMidnight,并使用toDateTimeAtStartOfDay()代替,因为下面详细列出了这个例外。 如果默认时区在午夜切换到夏令时并且此LocalDate表示切换date,则此方法将引发exception。 问题在于,在规定的date没有午夜的时间,因此抛出exception。 事实上,在某些时区不存在午夜似乎是足够的理由,以避免完全使用DateMidnight (假设您的代码没有使用已知不具有此DST情况的固定时区,并且将永远不需要使用不同的时区未来)。 但是, DateMidnight不被弃用,并且在DateMidnight类本身的javadoc中没有类似的build议或警告。 此外, DateMidnight构造函数愉快地接受即时和时区,使得在给定的一天中不存在午夜,而不是像LocalDate#toDateMidnight一样抛出IllegalArgumentException 。 结果DateMidnight行为就像一个DateTime时间在一天的开始。 当某一天午夜不存在时,为什么LocalDate#toDateMidnight在DateMidnight构造函数不引发时抛出exception? 如果有的话, DateMidnight的推荐用例是什么?
你将如何重写下面的方法,返回下个月的第一天,在Joda-Time中的org.joda.time包? public static Date firstDayOfNextMonth() { Calendar nowCal = Calendar.getInstance(); int month = nowCal.get(Calendar.MONTH) + 1; int year = nowCal.get(Calendar.YEAR); Calendar cal = Calendar.getInstance(); cal.clear(); cal.set(Calendar.YEAR, year); cal.set(Calendar.MONTH, month); cal.set(Calendar.DAY_OF_MONTH, 1); Date dueDate = new Date(cal.getTimeInMillis()); return dueDate; }
假设有两个dateA(开始时间)和B(结束时间)。 A&B可能是同一天甚至不同日子的时间。 我的任务是以秒为单位显示差异。 date格式,我正在使用的是 Date Format :: "yyyy-MM-dd'T'HH:mm:ss.SSSZ" 例如 start date :: "2011-11-16T14:09:23.000+00:00" end date :: "2011-11-17T05:09:23.000+00:00" 帮助表示赞赏。
我从Joda网站上获得了这个文件,并按照这些添加库的说明进行操作,但是当我进入Gradle同步程序时,我得到了这个错误: Gradle同步 Error:Configuration with name 'default' not found. Gradle构build Error:A problem occurred configuring project ':app'. > Cannot evaluate module joda : Configuration with name 'default' not found. 有点困惑,我环顾四周,看到图书馆应该有自己的gradle文件,但joda包不。 当我尝试使用import org.joda.time; 它不能解决joda 。 有谁知道我做错了什么?
如何指定格式string来将string中的date单独转换。 就我而言,只有date部分是相关的 构造它为DateTime失败: String dateString = "2009-04-17"; DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd"); DateTime dateTime = formatter.parseDateTime(dateString); 错误java.lang.IllegalArgumentException: Invalid format: "2011-04-17" is too short 可能因为我应该使用LocalDate来代替。 但是,我没有看到LocalDate格式化程序。 什么是最好的方法来转换String dateString = "2009-04-17"; 到LocalDate (或其他东西,如果这不是正确的表示) 谢谢…
我有这样的代码: // old_api(Date date) old_api(calendar.getTime()); 目前,我需要用Joda-Time DateTimereplaceCalendar 。 我想知道如何从Joda-Time DateTime获取java.util.Date ?
我以前从未使用过JodaTime ,但回答了这个问题, 如何在一个月内获得有序的 星期几 。 我试了一下,想出了这个丑陋的代码,以解除在一天之下的所有领域: DateTime startOfMonth = input.withDayOfMonth(1) .withHourOfDay(0) // there .withMinuteOfHour(0) // has got to .withSecondOfMinute(0) // be a shorter way .withMillisOfSecond(0); // to do this 使用DateUtils的Commons / Lang等价物将在哪里 Date startOfMonth = DateUtils.truncate(input, Calendar.MONTH); 在JodaTime中,这样做的首选成语是什么?
我想创build一个星期开始和本周结束之间的时间间隔。 我有以下代码,从这个答案借来的: private LocalDateTime calcNextSunday(LocalDateTime d) { if (d.getDayOfWeek() > DateTimeConstants.SUNDAY) { d = d.plusWeeks(1); } return d.withDayOfWeek(DateTimeConstants.SUNDAY); } private LocalDateTime calcPreviousMonday(LocalDateTime d) { if (d.getDayOfWeek() < DateTimeConstants.MONDAY) { d = d.minusWeeks(1); } return d.withDayOfWeek(DateTimeConstants.MONDAY); } 但是现在我想让星期一的LocalDateTime在00:00:00,星期天的LocalDateTime在23:59:59。 我将如何做到这一点?