我需要在Java中获取当前时间戳,格式为MM/DD/YYYY h:mm:ss AM/PM,
I need to get the current timestamp in Java, with the format of MM/DD/YYYY h:mm:ss AM/PM,
例如:06/01/2000 10:01:50 AM
我也需要它是线程安全的.
I need it to be Threadsafe as well.
我可以使用这样的东西吗?
Can I utilize something like this?
java.util.Date date = new java.util.Date();
System.out.println(new Timestamp(date.getTime()));
或者链接中讨论的示例这里.
Or the examples discussed at the link here.
SimpleDateFormat 的线程不安全应该不是问题,如果您只是在使用它的同一个方法块中创建它.换句话说,您不将其分配为类的静态变量或实例变量,并在一个或多个可由多个线程调用的方法中重用它.只有这样 SimpleDateFormat 的线程不安全性才会暴露.但是,您可以在同一个方法块中安全地重用相同的 SimpleDateFormat 实例,因为它只能由当前线程访问.
The threadunsafety of SimpleDateFormat should not be an issue if you just create it inside the very same method block as you use it. In other words, you are not assigning it as static or instance variable of a class and reusing it in one or more methods which can be invoked by multiple threads. Only this way the threadunsafety of SimpleDateFormat will be exposed. You can however safely reuse the same SimpleDateFormat instance within the very same method block as it would be accessed by the current thread only.
此外,您在其中使用的 java.sql.Timestamp 类不应被滥用,因为它特定于 JDBC API,以便能够存储或检索 TIMESTAMP/DATETIME 列类型在 SQL 数据库中并将其从/转换为 java.util.Date.
Also, the java.sql.Timestamp class which you're using there should not be abused as it's specific to the JDBC API in order to be able to store or retrieve a TIMESTAMP/DATETIME column type in a SQL database and convert it from/to java.util.Date.
所以,应该这样做:
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy h:mm:ss a");
String formattedDate = sdf.format(date);
System.out.println(formattedDate); // 12/01/2011 4:48:16 PM
这篇关于需要在 Java 中获取当前时间戳的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
“Char 不能被取消引用"错误quot;Char cannot be dereferencedquot; error(“Char 不能被取消引用错误)
Java Switch 语句 - 是“或"/“和"可能的?Java Switch Statement - Is quot;orquot;/quot;andquot; possible?(Java Switch 语句 - 是“或/“和可能的?)
Java替换字符串特定位置的字符?Java Replace Character At Specific Position Of String?(Java替换字符串特定位置的字符?)
具有 int 和 char 操作数的三元表达式的类型是什么What is the type of a ternary expression with int and char operands?(具有 int 和 char 操作数的三元表达式的类型是什么?)
读取文本文件并存储出现的每个字符Read a text file and store every single character occurrence(读取文本文件并存储出现的每个字符)
为什么我需要在 byte 和 short 上显式转换 char 原语Why do I need to explicitly cast char primitives on byte and short?(为什么我需要在 byte 和 short 上显式转换 char 原语?)