怎样将键盘输入的字符串转换成日期,请各位高手指点一二!!!!谢谢!!!

解决方案 »

  1.   


         Date date = new SimpleDateFormat("yyyy-MM-dd").parse("2011-3-18");
      

  2.   


    Scanner input = new Scanner(System.in);
    System.out.println("请输入日期(2011-03-19):");
    String str = input.next();
    //用SimpleDateFormat,输入的日期格式在里面设定,具体参见API
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    try {
    Date date = sdf.parse(str);
    System.out.println(date);
    } catch (ParseException e) {
    System.out.println("输入的日期格式出错了,请输入日期(2011-03-20)!");
    }
      

  3.   

    import java.io.BufferedInputStream;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.sql.Timestamp;
    import java.util.Calendar;public class Snippet
    { public static void main(String[] args) throws Exception
    {
    System.out
    .println("Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]");
    System.out.println("请按以上格式输入: ");
    BufferedReader bis = new BufferedReader(
    new InputStreamReader(System.in));
    Timestamp ts = Timestamp.valueOf(bis.readLine());
    Calendar c = Calendar.getInstance();
    c.setTime(ts);
    System.out.println(c.get(Calendar.HOUR_OF_DAY) + ":"
    + c.get(Calendar.MINUTE) + ":" + c.get(Calendar.SECOND));
    }}这种方法的缺点是输入时必须要按照指定的格式输入,即便不需要。优点是可以自动计算时间,如果用户输入的时间非法,比如用户输入为25:77:77.7,那么将自动计算时间为2:18:17