代码如下:
 String time = "2009-03-01_08:10:46:953";
 DateFormatSymbols df = new DateFormatSymbols();
 df.setLocalPatternChars("yyyy-MM-dd_HH:mm:ss:SS");
 sdf.setDateFormatSymbols(df);
 Date date = sdf.parse(time);
 System.out.print(date);
打印如下:
 Sun Mar 01 08:10:46 CST 2009
没有显示毫秒数,请问大家我该怎么写Date的毫秒数就能显示出来了。

解决方案 »

  1.   

    Date d = new Date(); 
    long longtime = d.getTime(); 
    这个longtime就是毫秒级的,效果=System.currentTimeMillis()
      

  2.   

    占个地,可以的应该没问题
    getTimeInMillis
    是Calendar的方法
    建议用Calendar
    因为现在好多date方法都过时了
    jdk不建议使用了
      

  3.   


    String time = "2009-03-01_08:10:46:953"; 
    String timeFormat = "yyyy-MM-dd_HH:mm:ss:SSS";
    SimpleDateFormat sdf = new SimpleDateFormat(timeFormat);
    Date date = sdf.parse(time);
    System.out.print(sdf.format(date)); 要显示毫秒,你就先要指定一个规格先。
      

  4.   

    顶下,推荐用Calendar~~Date里的好多方法都过时了的.
      

  5.   

    大概我没有说清楚,我想把字符串表示的时间转成Date型的,String里的时间精确到了毫秒,但是我转到Date之后,毫秒不见了,精确度不符合要求了,不知道大家有没有办法。
    还有3楼所指的规格,我该怎么制定啊?
      

  6.   

    解决了,用的calendar,先把年月日时分秒设定好,然后再设定毫秒,谢谢2~4楼的提醒,我又读了一便calendar的API文档,想起可以部分设定。怪我没有说清楚,让一楼的回复偏离了我的问题,不过仍然谢谢啦。
      

  7.   


    String time = "2009-03-01_08:10:46:953"; 
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss:SSS");
    Date date=null;
    try {
    date = df.parse(time);
    } catch (ParseException e) {
    e.printStackTrace();
    }
    Calendar CD = Calendar.getInstance();
      CD.setTime(date);
      int YY = CD.get(Calendar.YEAR) ;
      int MM = CD.get(Calendar.MONTH)+1;
      int DD = CD.get(Calendar.DATE);
      int HH = CD.get(Calendar.HOUR_OF_DAY);
      int NN = CD.get(Calendar.MINUTE);
      int SS = CD.get(Calendar.SECOND);
      int MI = CD.get(Calendar.MILLISECOND);
      String tim = YY + "-" + MM + "-" + DD + " " + HH + ":" + NN + ":" + SS + ":" + MI;
      System.out.println(tim);不知道这样可以不