需要在Java中获得当前时间戳

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)

我需要获取Java中的当前时间戳,格式为MM/DD/YYYY h:mm:ss AM/PM

例如: 06/01/2000 10:01:50 AM

我也需要它成为Threadsafe。

我可以利用这样的东西吗?

java.util.Date date = new java.util.Date();
System.out.println(new Timestamp(date.getTime()));

或者在这里的链接讨论的例子。

提问于
用户回答回答于

SimpleDateFormat如果你只是在你使用它的同一个方法块内创建它,threadunsafety不应该成为一个问题。换句话说,你并没有将它分配给一个类的静态变量或实例变量,而是在一个或多个可以被多个线程调用的方法中重用它。只有这样,螺纹安全性SimpleDateFormat才会暴露。但是,您可以安全地在同SimpleDateFormat一个方法块内重复使用与当前线程仅访问它相同的实例。

此外,java.sql.Timestamp您在那里使用的类不应该被滥用,因为它特定于JDBC API,以便能够在SQL数据库中存储或检索TIMESTAMP/ DATETIME列类型并将其转换为/ 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.sql.Timestamp在java中打印时间戳。

import java.sql.Timestamp;
import java.util.Date;

public class GetCurrentTimeStamp {
    public static void main( String[] args ){
        java.util.Date date= new java.util.Date();
        System.out.println(new Timestamp(date.getTime()));
    }
}

这打印:

2014-08-07 17:34:16.664

使用SimpleDateFormat在Java中打印时间戳。

import java.util.Date;
import java.text.SimpleDateFormat;

class Runner{
    public static void main(String[] args){

        System.out.println(
            new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(new Date()));

    }

}

打印:

08/14/2014 14:10:38

Java日期格式图例:

G Era designation      Text               AD
y Year                 Year               1996; 96
M Month in year        Month              July; Jul; 07
w Week in year         Number             27
W Week in month        Number             2
D Day in year          Number             189
d Day in month         Number             10
F Day of week in month Number             2
E Day in week          Text               Tuesday; Tue
a Am/pm marker         Text               PM
H Hour in day (0-23)   Number             0
k Hour in day (1-24)   Number             24
K Hour in am/pm (0-11) Number             0
h Hour in am/pm (1-12) Number             12
m Minute in hour       Number             30
s Second in minute     Number             55
S Millisecond          Number             978
z Time zone            General time zone  Pacific Standard Time; PST; GMT-08:00
Z Time zone            RFC 822 time zone  -0800

扫码关注云+社区