如何在Java中获得字符串格式的时间戳?“yyyy.MM.dd.HH.mm.ss”

String timeStamp = new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss").format(new Timestamp());

这就是我所拥有的,但时间戳()需要一个参数…


当前回答

使用现代java。时间类(如果您使用Java 8或更新版本)。

String s = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(LocalDateTime.now());

巴兹尔·布尔克的回答很好。但是太长了。很多人都没有耐心去读它。前3个答案太老了,可能会误导Java新人,所以我为新加入的开发者提供这个简短而现代的答案。希望这个答案可以减少可怕的SimpleDateFormat的使用。

其他回答

取代

new Timestamp();

with

new java.util.Date()

因为Timestamp没有默认构造函数,或者你可以用这个方法:

new Timestamp(System.currentTimeMillis());

我在用这个

String timeStamp = new SimpleDateFormat("dd/MM/yyyy_HH:mm:ss").format(Calendar.getInstance().getTime());
System.out.println(timeStamp);

使用java.util.Date类而不是Timestamp类。

String timeStamp = new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss").format(new java.util.Date());

这将为您提供指定格式的当前日期。

更合适的方法是在构造函数中指定Locale区域作为参数。下面的例子使用了US Locale区域。日期格式对区域设置敏感,并使用区域设置来根据用户所在地区的风俗习惯和约定定制信息(Java Platform SE 7)

String timeStamp = new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss", Locale.US).format(new Date());

你可以使用java.util.Date代替Timestamp:

String timeStamp = new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss").format(new Date());