0

java の Timestamp 値からミリ秒の値を切り取る必要があります。

例えば:

Timestamp time=2013-09-23 17:57:19.860;

例外出力:

Time: 2013-09-23 17:57:19

ミリ秒を短縮するのを手伝ってください

4

4 に答える 4

4

SimpleDateFormatを使用します。

String date = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(time.getDate());
于 2013-09-23T13:53:52.810 に答える
2
     String t = "2013-09-23 17:57:19.860";
     String[] split = t.split(java.util.regex.Pattern.quote("."));
     String result= split[0];
     System.out.println(result);

アップデート

     DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");       
     Date date = dateFormat.parse("2013-09-23 17:57:19.860");
     long time = date.getTime();
     Timestamp timestamp =new Timestamp(time);      
     SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS");
     String result = dateFormat.format(new Date(timestamp.getTime() ));
于 2013-09-23T14:02:52.453 に答える
2

TimeUnit を使用できます。

long currentTimeMillis = System.currentTimeMillis();
long currentTimeSeconds = TimeUnit.SECONDS.convert(currentTimeMillis, TimeUnit.MILLISECONDS) ;
long millisUpToSecond = TimeUnit.MILLISECONDS.convert(currentTimeSeconds, TimeUnit.SECONDS);

// just to verify
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss,SSS");
System.out.println(dateFormat.format(new Date(millisUpToSecond )));
于 2013-09-23T14:08:04.670 に答える
1

これは 1 つの方法です。それ以外の場合は、最後の 3 桁を手動で 0 に設定するという難しい方法を使用してください。

    Timestamp ts = new Timestamp(System.currentTimeMillis());

    System.out.println(ts); // 2013-09-23 15:52:45.88
    Calendar cal = Calendar.getInstance();
    cal.clear();
    cal.setTimeInMillis(ts.getTime());
    cal.set(Calendar.MILLISECOND, 0);
    System.out.println(cal.getTime()); // Mon Sep 23 15:52:45 CEST 2013
于 2013-09-23T13:53:55.660 に答える