我一直在尝试检查我的Android应用中的编辑文本字段中的日期是否为>在转移到新意图之前的当前日期,但我无法达成任何解决方案
希望有人可以建议,亲切地
答案 0 :(得分:1)
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Calendar cal = Calendar.getInstance();
System.out.println(dateFormat.format(cal.getTime()));
或强>
LocalDateTime now = LocalDateTime.now();
int year = now.getYear();
int month = now.getMonthValue();
int day = now.getDayOfMonth();
int hour = now.getHour();
int minute = now.getMinute();
int second = now.getSecond();
答案 1 :(得分:1)
我还建议查看JodaTime(在jdk 8中你应该使用java.time包)。具体来说,请查看http://joda-time.sourceforge.net/apidocs/org/joda/time/base/AbstractPartial.html#isAfter(org.joda.time.ReadablePartial),这是您可以使用的LocalDate
的父类。
请参阅LocalDate#now
和LocalDate#parse
以构建这些类的实例
答案 2 :(得分:0)
根据EditText
中的日期格式,您需要获取该数据并创建Date
的实例,以便比较这两者。
示例:
String rawDate = EditText.getText().toString();
DateFormat format = new SimpleDateFormat("expected format", Locale.US);
Date inputDate = format.parse(rawDate);
Date currentDate = new Date();
if(inputDate.after(currentDate)){
//if editText date is after
else{
//if editText date is not after
}
注意:Date
不是Java中日期和时间的最佳选择。正如其他人所说,Joda是一个非常好的选择。我建议你阅读关于这个主题的文档和其他文章,这样你就知道在项目中采用Joda意味着什么,以及你是否真的需要它。