Java 如何从日期和时间中删除毫秒

Java 如何从日期和时间中删除毫秒,java,Java,我有一个对象以这种格式给出日期和时间2014-06-11 16:32:36.828。 我想删除毫秒828 在我的数据库中,该对象是时间戳格式的,但每当我显示时,我都将其转换为tostring 那么如何消除毫秒,请帮助我 Date d = SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(yourString); Calendar c = Calendar.getInstance(); c.setTime(d); c.set(Calendar.

我有一个对象以这种格式给出日期和时间2014-06-11 16:32:36.828。 我想删除毫秒828

在我的数据库中,该对象是时间戳格式的,但每当我显示时,我都将其转换为tostring

那么如何消除毫秒,请帮助我

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();

我记得有一种方法可以直接从时间戳字段中读取日期,但我在日常编码中并没有这样做。所以我就离开了,让其他人也这样发帖。不过,您可以使用上述代码将日期从该时间戳转换为无毫秒的日期。

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

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

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

从原始日期对象中提取历元毫秒,然后进行整数除1000,再乘以1000。使用原始对象的时区创建Date对象,并以上述建议的方式计算毫秒。

我将使用

您可以获得系统时间,如下所示,无需毫秒

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);

如果要保留格式,请尝试以下操作:

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;
}

以下代码将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"));
说明:

新SimpleDataFormatyyyy MM dd HH:MM:ss.SSS.parse2014-06-11 16:32:36.828将输入字符串解析为 2014年6月11日星期三16:32:36 新SimpleDataFormatyyyy MM dd HH:MM:ss.formatnew Date将输入日期格式化为指定的结构。
如何提取历元毫秒?我是否可以从我的时间戳中获取时间,如字符串time=timestampobj.toString;你真的应该研究SimpleDateFormat,那要省力得多你是说你想要一个没有毫秒的时间戳字符串表示形式吗,或者是否要更改时间戳时间值以删除毫秒?11/10/14 15:46:04如何分隔日期和时间字符串st=new SimpleDateFormatyyyy MM dd HH:MM:ss.formatnew SimpleDateFormatyyy MM dd HH:MM:ss.SSS.parse2014-06-11 16:32:36.828;System.out.printlnst;int spaceIndex=st.indexOf;字符串日期=st.substring0,空格索引;字符串时间=st.substringspaceIndex+1,st.length;System.out.printlndate+\n+时间;
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"));