如何仅获取当前时间

时间:2015-10-28 02:48:02

标签: java datetime

对于这个C#代码来说,什么是Java的等价物:

DateTime.Now.TimeOfDay //This
DateTime.Now.ToString("h:mm:ss tt") //Or This  

我发现很多东西,其中一些可能因为它有2年或更长时间而被弃用,有些对于这么简单的事情非常复杂,我确信有一种更简单的方法这样做。

我试过了:

import java.util.Date;

Date d = new Date();
System.out.println(d);   //Result:  Wed Oct 28 00:46:29 2015  

If I try:  

System.out.println(d.getTime()); //Result:  1446000426285

我只需要时间:H:mm:ss

2 个答案:

答案 0 :(得分:3)

您可以在java中使用SimpleDateFormat。 date.getTime()给出自1970年1月1日00:00:00 GMT以来的毫秒数。

    Date date = new Date();
    SimpleDateFormat dateFormat = new SimpleDateFormat("hh:mm:ss");
    System.out.println(dateFormat.format(date));

答案 1 :(得分:2)

一般来说,在Java中,日期/时间对象只是自给定时间点(如Unix纪元)以来经过的时间量的容器,因此它们往往没有自己的格式概念。

格式化通常由支持API管理,例如java.text.DateFormatjava.time.format.DateTimeFormatter

如果您使用的是Java 8,则可以从LocalTime

开始
LocalTime time = LocalTime.now();
System.out.println(DateTimeFormatter.ISO_LOCAL_TIME.format(time));

打印13:51:13.466

如果您需要特定格式,可以将自己的模式提供给DateTimeFormatter,例如System.out.println(DateTimeFormatter.ofPattern("h:mm:ss a").format(time));,以打印1:52:31 PM

有关详细信息,请查看Date and Time Classes