我有一个像20211231这样的当前日期格式,我想在这个日期上再加150天。在那之后,如果时间还不到150天,或者已经过去了,我怎么检查呢
我尝试用这段代码将当前日期增加150天,但失败了
Calendar c= Calendar.getInstance();
c.add(Calendar.DATE, 150);
Date d = c.getTime ();
idk如果它不再有效了,或者自从我读了一个9年零五个月前被问和回答的问题后又怎么样https://stackoverflow.com/a/11727986/17562398
这是我现在的日期选择器
SimpleDateFormat cdate = new SimpleDateFormat ("yyyyMMdd", Locale.getDefault ( ));
String currentDate = cdate.format (new Date ( ));
这是我用currentdate(今天)检查150天的逻辑
DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
String sDate="20211231";
Date cuDate=dateFormat.parse(sDate);
Date currentDate = new Date();
Calendar calendarObj = Calendar.getInstance();
calendarObj.setTime(cuDate);
calendarObj.add(Calendar.MONTH, 5); // since this is 150 days (i think it's 30 days * 5 )
Date newDateAfter5months = calendarObj.getTime();
System.out.println("newDateAfter5months="+dateFormat.format(newDateAfter5months));
if(newDateAfter5months.compareTo(currentDate) > 0) {
System.out.println("newDateAfter5months occurs after currentDate");
}
使用来自java.time.*
包的现代JavaTime API。
可以使用java以所需格式解析或格式化(用于显示)日期。时间总体安排DateTimeFormatter。模式(字符串、区域设置)
方法。以下是DateTimeFormatter类的文档
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyyMMdd", locale);
如果您正在解析作为用户输入的日期,也不要忘记捕获解析异常。
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
//...
// The desired locale, maybe the target user selected language/region locale?
// For now just using the default locale here
Locale locale = Locale.getDefault();
String someInputDate = "20220529";
try {
// using the DateTimeFormatter to parse the date with a desired pattern
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyyMMdd", locale);
LocalDate inputDate = LocalDate.parse(someInputDate, dateFormatter);
// 150 days from now
int daysFromNow = 150;
LocalDate targetDate = LocalDate.now().plusDays(daysFromNow);
android.util.Log.d(
"Dates", String.format("The date %d days from now is %s", daysFromNow, targetDate.format(dateFormatter))
);
if (inputDate.isAfter(targetDate)) {
// the input date is past 150 day from now
android.util.Log.d(
"Dates", String.format("%s at least %d days from now", inputDate.format(dateFormatter), daysFromNow)
);
} else {
// the input date is NOT past 150 day from now
android.util.Log.d(
"Dates", String.format("%s is less than %d days from now", inputDate.format(dateFormatter), daysFromNow)
);
}
} catch (DateTimeParseException e) {
// The input is a date in a different format or is malformed/invalid
}
日志输出
Dates The date 150 days from now is 20220530
Dates 20220529 is less than 150 days from now
我有一个像20211231这样的当前日期格式,我想在这个日期上再加150天。在那之后,如果时间还不到150天,或者已经过去了,我怎么检查呢 我尝试这个代码添加150天到当前日期,但它失败了 idk如果它不再有效了,或者自从我读了一个9年零五个月前被问和回答的问题后又怎么样https://stackoverflow.com/a/11727986/17562398 这是我现在的约会对象
我该怎么做?
问题内容: 我已经进行了所有设置,将当前日期存储到Java中的变量中。我要弄清楚的是如何存储当前日期之后1年的日期。 这是我当前的日期: 因此,例如,如果今天是今天,它将存储2/18/2013。我正在尝试存储日期2/18/2014。我将如何去做呢? 问题答案: 如果您不想拖动外部库,只需使用 请注意,如果日期是,并且您添加了1年,则将获得
我与当下一起工作。js和我有3个不同的日期,例如。 2018年7月30日 2018年6月12日 2018年5月10日 现在,我尝试获取从这些日期到今天(如果少于7天前)或到今天(如果超过7天前)的周数的差值,并将其放置在几个跨度中。 更新感谢托马斯! 我得到: 我还需要什么: > 不显示,这应该是 这是实际的小提琴。
问题内容: 有人可以告诉我如何从当前日期减去45天吗? 谢谢 问题答案: 您可以使用Calendar类: