计蒜客---判断日期是否符合格式

这道题不想写的那么麻烦,就百度了一下.java有现成的API可以使用,这里"yyyy/MM/dd"中的M必须大写,否则解析失败,害了我找错误找了好久...
另外,scanner的next不能输入空格,他是以空格作为结束标志,而nextline则是以enter作为结束标志
SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");//M是大写
df.setLenient(false); //设置是否严格解析日期,不合法则则不可解析 

完整代码如下:

/**
 * 用比较复杂的方法来实现,主要目的来熟悉dateformat
 */
import java.text.SimpleDateFormat;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");//M是大写
        Scanner input = new Scanner(System.in);
        String dateStr = input.nextLine();//next则不能接收空格
        dateStr = dateStr.replaceAll(" ", "/");
        try {
            df.setLenient(false); //设置是否严格解析日期,不合法则则不可解析 
            df.parse(dateStr);
        } catch (Exception e) {
            System.out.println(0);
            System.exit(0);
        }
        System.out.println(1);
    }

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted on 2015-07-31 18:43  牛李  阅读(209)  评论(0编辑  收藏  举报

导航