Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将用户键入的日期保持在此格式内;yyyy/MM/dd“;在实际日历日期内_Java_Date_Exception_Calendar_Formatting - Fatal编程技术网

Java 如何将用户键入的日期保持在此格式内;yyyy/MM/dd“;在实际日历日期内

Java 如何将用户键入的日期保持在此格式内;yyyy/MM/dd“;在实际日历日期内,java,date,exception,calendar,formatting,Java,Date,Exception,Calendar,Formatting,我正在尝试使用户不能键入无效日期。例如,如果用户在2017年3月15日键入,它将抛出一个错误并警告用户这是无效的(将用户绑定到当前和过去的日期),或者将为以下任何示例(2016年3月15日)抛出一个错误(您应该为当前时间创建一个新的long) long today = System.currentTimeMillis(); 然后,如果日期早于当前日期,则使用该标记 if(testDate.getTime() > today) { System.out.println("bad i

我正在尝试使用户不能键入无效日期。例如,如果用户在2017年3月15日键入,它将抛出一个错误并警告用户这是无效的(将用户绑定到当前和过去的日期),或者将为以下任何示例(2016年3月15日)抛出一个错误(您应该为当前时间创建一个新的long)

long today = System.currentTimeMillis();
然后,如果日期早于当前日期,则使用该标记

if(testDate.getTime() > today) {
    System.out.println("bad input");
}

基本答案是,你不能也不应该。日期类只是从给定时间点开始的毫秒数的容器,它们没有concept I格式。当需要显示值时,你可以使用DateFormatter。使用DateFormat可以将字符串解析为日期(您可能需要将生成的日期格式化为字符串,并将其与原始数据进行比较)。如果您不想占用时间,则应该考虑使用LoalDead,而删除时间部分则更为复杂。
if(testDate.getTime() > today) {
    System.out.println("bad input");
}