Java 我想看看jodatime一周是否结束了
我试图检查从.isBefore(to)到Java 我想看看jodatime一周是否结束了,java,android,date,jodatime,Java,Android,Date,Jodatime,我试图检查从.isBefore(to)到的一周是否结束。from是LocalDate(例如今天),to是from.plusDays(6),因此一周。现在的问题是它总是正确的。如何修复toDate,即fromDate只是在计数,到达后在if条件下执行某些操作 LocalDate from = LocalDate.now(); LocalDate to = from.withPeriodAdded(Period.days(6), 1); if(from.isBefore(to)) { //
的一周是否结束。from是LocalDate(例如今天),to是from.plusDays(6)
,因此一周。现在的问题是它总是正确的。如何修复toDate
,即fromDate
只是在计数,到达后在if条件下执行某些操作
LocalDate from = LocalDate.now();
LocalDate to = from.withPeriodAdded(Period.days(6), 1);
if(from.isBefore(to)) {
//do something;
}....
如果您有
from
,并且通过在from
中添加6天来计算到,from
将始终在to之前(并且from.isBefore(to)
将始终返回True
)。您需要明确检查两个日期之间的差异是否为7天
看看静态的日期间隔(ReadableInstant start,ReadableInstant end)
方法。好的,我解决了它。
我在每日文件中写入当前本地日期。
然后我从文件中读取带有index.Of的字符串,并将其解析为LocalDate。我在此日期加上6天,并从当前日期算起。
也许这不是最好的解决方案,但它是有效的
//In my Async-Class where the Files get written
LocalDate currentDate = LocalDate.now();
outputStream.write(currentDate.toString().getBytes());
//In my Main-clasS
final LocalDate currentDate = LocalDate.now(); //Current Date
final int daysbetween = 6; //days between current date and date of file
final int index = openfilewed().indexOf("2", 30); //Date from file
final LocalDate[] filedate = new LocalDate[1];
final LocalDate[] reach = new LocalDate[1];
filedate[0] = LocalDate.parse(openfilemon().substring(index));
reach[0] = filedate[0].plusDays(daysbetween);
if (currentDate.isBefore(reach[0])){
//do something
}
我想你需要具体说明这周的开始时间。然后将
与
与今天进行比较;投票结束。问今天是否在一周之内是愚蠢的,显然今天总是在一周之内。重写以准确解释您想要的内容。您想知道今天是否包含在特定的日期范围内吗?这已经被讨论过很多次了,所以在发布前搜索。仅供参考,该项目现在正在进行中,建议迁移到类。请参见.FYI,诸如java.util.date
、java.util.Calendar
和java.text.SimpleDateFormat
等麻烦的日期时间类现在是遗留的,被这些类所取代。大部分java.time功能都在项目中被向后移植到Java6和Java7。进一步适应早期Android(欢迎来到Stack Overflow。本周显然还没有结束,所以我不认为这是你的意思。我正在努力理解你的意思。也许你想举一个一周结束的例子,另一个一周没有结束的例子,为了清楚起见,请?我已经投票决定以不清楚的方式结束,我并不期待o一旦你澄清,就撤回我的投票。