簡體   English   中英

在 Java 中以特定格式打印日期時間?

[英]Printing out datetime in a specific format in Java?

我想以特定格式在java中打印日期時間。 我有這個 C# 代碼,它以這種格式打印出日期時間。

DateTime value = new DateTime(2010, 1, 18);
Console.WriteLine(value);
Console.WriteLine(value == DateTime.Today);

結果是 - 1/18/2010 12:00:00 AM

現在,我想編寫一個 java 代碼,以相同的格式打印出日期時間。 我使用了 joda.time 庫。 這是我到目前為止所嘗試的。

DateTime today = new DateTime();
System.out.println(today.toString(“yyyy-MMM-dd”));

如何在java中的DateTime中將年月日作為構造函數傳遞並以上述格式打印出來。

方法 1:使用java.time.LocalDateTime 強烈推薦

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
LocalDateTime now = LocalDateTime.now();
System.out.println(dtf.format(now)); //2016/11/16 12:08:43

方法 2:使用java.util.Date

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
System.out.println(dateFormat.format(date)); //2016/11/16 12:08:43

方法 3:使用java.util.Calendar

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Calendar cal = Calendar.getInstance();
System.out.println(dateFormat.format(cal)); //2016/11/16 12:08:43

如果您需要 24 小時制的日期,請使用此方法

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

請注意,在 24 小時制中,無需顯示 AM/PM。

如果您想要 12 小時制的日期,請使用以下方法

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss a");
Date custDate = new Date();
System.out.println(sdf.format(custDate));

日期格式中的“a”將有助於顯示 AM/PM。

請導入以下類以使上述代碼工作

java.text.SimpleDateFormat

日期

LocalDate.of(2010, 1, 18).atStartOfDay().format(DateTimeFormatter.ofPattern("MM/dd/yyyy HH:mm:ss a"))

LocalDate.of(2010, 1, 18).atTime(12, 0, 0).format(DateTimeFormatter.ofPattern("MM/dd/yyyy HH:mm:ss a"));

如果你也想添加時間

請嘗試這個

public void Method(Datetime time)
{
    
    time.toString("yyyy-MM-dd'T'HH:mm:ss"));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM