如何从日期和时间中删除millisec

时间:2014-11-10 08:35:44

标签: java

我有一个对象以这种格式提供日期和时间“2014-06-11 16:32:36.828”。 我想删除millisec .828。

在我的数据库中,该对象采用时间戳格式,但无论何时我正在显示我将其转换为tostring()。

所以如何删除millisec请帮帮我

7 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

以下代码转换" 2014-06-11 16:32:36.828"进入" 2014-06-11 16:32:36"

new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").parse("2014-06-11 16:32:36.828"));

<强>解释

  • new SimpleDateFormat(&#34; yyyy-MM-dd HH:mm:ss.SSS&#34;)。解析(&#34; 2014-06-11 16:32:36.828&#34;)解析将字符串输入到 2014年6月11日星期三16:32:36 IST 2014
  • new SimpleDateFormat(&#34; yyyy-MM-dd HH:mm:ss&#34;)。format(new Date())将输入日期格式化为指定结构。

答案 2 :(得分:0)

Date d = SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(yourString);
Calendar c = Calendar.getInstance();
c.setTime(d);

c.set(Calendar.MILLISECOND, 0);
return c.getTime();

我记得有一种方法可以直接从你的时间戳字段中读取日期,但我不会在我的日常编码中这样做。所以我留给其他人发帖。不过,您可以使用相同的上述代码将日期从该时间戳转换为没有MILLISECOND的日期。

答案 3 :(得分:0)

如果您将其作为时间戳接收,则在将其转换为字符串时应使用相应的格式化程序:

String s = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(timestamp);

注意:这将使用本地计算机的默认时区。

答案 4 :(得分:0)

从原始Date对象中提取epoch millis,并将整数除以1000,然后乘以1000.使用原始对象的时区创建Date对象,并使用上面建议的方式计算millis。

答案 5 :(得分:0)

您可以按照以下步骤获取系统时间,无需毫秒

import java.text.SimpleDateFormat;
import java.util.Calendar;

代码

   Calendar currentDate = Calendar.getInstance();
   SimpleDateFormat formatter= new SimpleDateFormat("dd-MM-YYYY-hh:mm:ss");
   String dateNow = formatter.format(currentDate.getTime());
   System.out.println(dateNow);

答案 6 :(得分:0)

如果你想保持格式尝试类似的东西:

public static String getFechaTimestampToString (Timestamp timestamp) {
    String date = "";
    Calendar cal = Calendar.getInstance();  
    cal.setTime(new Date(timestamp.getTime()));  
    int year = cal.get(Calendar.YEAR);  
    int month = cal.get(Calendar.MONTH)+1;  
    int day = cal.get(Calendar.DAY_OF_MONTH);
    String monthstr = "";
    String daystr = "";

    if(month<10)
        monthstr = "0"+month;
    else
        monthstr = ""+month;

    if(day<10)
        daystr = "0"+day;
    else
        daystr = ""+day;

    date = year + "-" + monthstr + "-" + daystr ;

    return date;
}

将数据反转到数据库:

public static Timestamp getFechaStringToTimestamp (String strDate) {
    Timestamp timestamp = null;
    strDate = strDate + " 00:00:00";
    timestamp = Timestamp.valueOf(strDate);

    return timestamp;
}