13

在 Java 中生成当前日期戳的最佳方法是什么?

YYYY-MM-DD:hh-mm-ss

4

5 回答 5

27

使用标准 JDK,您将需要使用 java.text.SimpleDateFormat

Date myDate = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd:HH-mm-ss");
String myDateString = sdf.format(myDate);

但是,如果您可以选择使用 Apache Commons Lang 包,则可以使用 org.apache.commons.lang.time.FastDateFormat

Date myDate = new Date();
FastDateFormat fdf = FastDateFormat.getInstance("yyyy-MM-dd:HH-mm-ss");
String myDateString = fdf.format(myDate);

FastDateFormat 具有线程安全的优点,因此您可以在整个应用程序中使用单个实例。它严格用于格式化日期,不支持像 SimpleDateFormat 在以下示例中所做的解析:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd:HH-mm-ss");
Date yourDate = sdf.parse("2008-09-18:22-03-15");
于 2008-09-19T03:07:30.933 回答
8
Date d = new Date();
String formatted = new SimpleDateFormat ("yyyy-MM-dd:HH-mm-ss").format (d);
System.out.println (formatted);
于 2008-09-19T02:55:45.470 回答
1

还有

long timestamp = System.currentTimeMillis() 

这就是new Date()(@ John Millikin)在内部使用的。一旦你有了它,你可以随意格式化它。

于 2008-09-19T03:01:17.127 回答
0

SimpleDateFormatter 是你想要的。

于 2008-09-19T02:56:28.730 回答
0
final DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd:hh-mm-ss");

formatter.format(new Date());

SimpleDateFormat的JavaDoc提供有关日期和时间模式字符串的信息。

于 2008-09-19T03:03:49.010 回答