我需要在Java中获取当前时间戳,格式为MM/DD/YYYY h:mm:ss AM/PM
。
例如:06/01/2000 10:01:50 AM
我需要它也是线程安全的。
我可以使用这样的东西吗?
java.util.Date date = new java.util.Date();
System.out.println(new Timestamp(date.getTime()));
或链接here中讨论的示例。
发布于 2013-11-28 19:47:41
尝试以下单行解决方案:
import java.util.Date;
String timestamp =
new java.text.SimpleDateFormat("MM/dd/yyyy h:mm:ss a").format(new Date());
发布于 2015-06-22 14:39:43
java.time
从Java 8+开始,您可以使用java.time package。具体地说,使用DateTimeFormatterBuilder和DateTimeFormatter格式化模式和文字。
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.appendPattern("MM").appendLiteral("/")
.appendPattern("dd").appendLiteral("/")
.appendPattern("yyyy").appendLiteral(" ")
.appendPattern("hh").appendLiteral(":")
.appendPattern("mm").appendLiteral(":")
.appendPattern("ss").appendLiteral(" ")
.appendPattern("a")
.toFormatter();
System.out.println(LocalDateTime.now().format(formatter));
输出...
06/22/2015 11:59:14 AM
或者如果您想要不同的time zone…
// system default
System.out.println(formatter.withZone(ZoneId.systemDefault()).format(Instant.now()));
// Chicago
System.out.println(formatter.withZone(ZoneId.of("America/Chicago")).format(Instant.now()));
// Kathmandu
System.out.println(formatter.withZone(ZoneId.of("Asia/Kathmandu")).format(Instant.now()));
输出...
06/22/2015 12:38:42 PM
06/22/2015 02:08:42 AM
06/22/2015 12:53:42 PM
发布于 2017-06-14 22:24:34
您可以使用直接日期字符串格式的java.util.Date
:
String timeStamp = new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss").format(new Date());
https://stackoverflow.com/questions/8345023
复制相似问题