编写一个程序从标准输入一个日期,转换成UNIX时间戳并打印在标准输出设备上,如下所示:
1
2
3
|
input
a date time : 2015 /03/17 22:13:03 timestamp:1426601583 |
1
2
3
|
input
a date time : 2015 /3/7 2:3:3 Error
Input |
注意:
- 最后没有换行。
- "input a date time:"后有一个换行
- 输入内容后存在一个换行
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;
}
}
}