T001_UT001_0007

来源:互联网 发布:电话轰炸机原理知乎 编辑:程序博客网 时间:2024/06/08 07:30

编写一个程序从标准输入一个日期,转换成UNIX时间戳并打印在标准输出设备上,如下所示:

1
2
3
input a date time:
2015/03/17 22:13:03
timestamp:1426601583
如果输入的内容不符合要求,则提示“Error Input”,程序退出。如下所示:

1
2
3
input a date time:
2015/3/7 2:3:3
Error Input

注意:

  1. 最后没有换行。
  2. "input a date time:"后有一个换行
  3. 输入内容后存在一个换行

import java.util.Date;import java.util.Scanner;import java.util.regex.Matcher;import java.util.regex.Pattern;import java.text.SimpleDateFormat;public class T001_UT001_0007{public static void main(String[] args)throws Exception{Date njp_date=null;String njp_Sregex="^[1-2][0-9][0-9][0-9]/([1][0-2]|0?[1-9])/([12][0-9]|3[01]|0?[1-9]) ([01][0-9]|[2][0-3]):[0-5][0-9]:[0-5][0-9]$";SimpleDateFormat njp_format=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");Scanner njp_input=new Scanner(System.in);    System.out.println("input a date time:");    String njp_time=njp_input.nextLine();    Pattern njp_a=Pattern.compile(njp_Sregex);           Matcher njp_b=njp_a.matcher(njp_time);        boolean njp_flag=njp_b.matches();                 if(njp_flag) {               njp_date = njp_format.parse(njp_time);    System.out.print("timestamp:"+njp_date.getTime()/1000);      }else{    System.out.print("Error Input");    return;    }}}


0 0