我有一个对象以这种格式提供日期和时间“2014-06-11 16:32:36.828”。 我想删除millisec .828。
在我的数据库中,该对象采用时间戳格式,但无论何时我正在显示我将其转换为tostring()。
所以如何删除millisec请帮帮我
答案 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"));
<强>解释强>
答案 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;
}