我需要将包含date的字符串转换为date对象。字符串的格式为"yyyy-mm-dd HH:mm:ss.SSSSSS“,我希望在date对象中使用相同的格式。
例如,我有一个字符串"2012-07-10 14:58:00.000000",我需要得到的date对象具有相同的格式。
我已经尝试了下面的方法,但结果并不像预期的那样。
java.util.Date temp = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss.SSSSSS").parse("2012-07-10 14:58:00.000000");
DateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");
Date thisDate = dateFormat.parse("2012-07-10 14:58:00.000000");
结果是"Tue Jan 10 14:58:00 EST 2012“。请告诉我哪里出错了。
谢谢,Yeshwanth Kota
发布于 2018-01-05 22:47:34
供将来参考:
yyyy => 4 digit year
MM => 2 digit month (you must type MM in ALL CAPS)
dd => 2 digit "day of the month"
HH => 2-digit "hour in day" (0 to 23)
mm => 2-digit minute (you must type mm in lowercase)
ss => 2-digit seconds
SSS => milliseconds
因此"yyyy-MM-dd HH:mm:ss“返回"2018-01-05 09:49:32”
但是"MMM dd,yyyy hh:mm a“返回”2018年1月05日09:49 am“
https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html中的所谓示例仅显示输出。它们不会告诉您要使用什么格式!
发布于 2018-07-14 14:21:57
您未应用日期格式。相反,您只是在解析日期。获取此格式的输出
yyyy-MM-dd HH:mm:ss.SSSSSS
我们必须使用format()方法这里是完整的例子:-这是完整的例子:-它将以这种格式的yyyy-MM-dd HH:mm:ss.SSSSSS
获取日期,因此我们将得到与这种格式yyyy-MM-dd HH:mm:ss.SSSSSS
相同的输出
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
//TODO OutPut should LIKE in this format yyyy-MM-dd HH:mm:ss.SSSSSS.
public class TestDateExample {
public static void main(String args[]) throws ParseException {
SimpleDateFormat changeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS");
java.util.Date temp = changeFormat.parse("2012-07-10 14:58:00.000000");
Date thisDate = changeFormat.parse("2012-07-10 14:58:00.000000");
System.out.println(thisDate);
System.out.println("----------------------------");
System.out.println("After applying formating :");
String strDateOutput = changeFormat.format(temp);
System.out.println(strDateOutput);
}
}
发布于 2019-03-01 21:24:00
它为我工作SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");sdf.format(新日期);
https://stackoverflow.com/questions/13919475
复制相似问题