Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để sử dụng định dạng với printf () một cách chính xác trong Java?

Phương thức printf () được sử dụng để in một chuỗi được định dạng, nó chấp nhận một chuỗi đại diện cho một chuỗi định dạng và một mảng đối tượng đại diện cho các phần tử sẽ có trong chuỗi kết quả, nếu số đối số nhiều hơn số ký tự trong chuỗi định dạng, các đối tượng thừa sẽ bị bỏ qua.

Bảng sau liệt kê các ký tự định dạng khác nhau để định dạng thời gian bằng phương thức Java printf () cùng với mô tả của chúng -

Định dạng ký tự Mô tả
'H'
Đối số tương ứng được định dạng là Giờ trong ngày (00-24).
'tôi'
Đối số tương ứng được định dạng là giờ trong ngày (01-12).
'k'
Đối số tương ứng được định dạng là giờ trong ngày (0-24).
'l'
Đối số tương ứng được định dạng là giờ trong ngày (1-12).
'M'
Đối số tương ứng được định dạng là phút của một giờ (00-59).
'S'
Đối số tương ứng được định dạng là giây của phút (00-60).
'L'
Đối số tương ứng được định dạng dưới dạng mili giây (000-999).
'N'
Đối số tương ứng được định dạng là nano giây (000000000 - 999999999).
'p'
Đối số tương ứng được định dạng là chiều hoặc sáng.
'z'
Đối số tương ứng được định dạng là time zxone.
'Z'
Đối số tương ứng được định dạng dưới dạng chuỗi biểu thị múi giờ.
của '
Đối số tương ứng được định dạng là giây kể từ kỷ nguyên.
'Q'
Đối số tương ứng được định dạng dưới dạng mili giây kể từ kỷ nguyên.

Ví dụ

Ví dụ sau minh họa cách định dạng giá trị ngày tháng bằng phương thức printf ().

import java.util.Date;
public class Example {
   public static void main(String args[]) {  
      //creating the date class
      Date obj = new Date();
      System.out.printf("%tT%n", obj);
      System.out.printf("Hours: %tH%n", obj);
      System.out.printf("Minutes: %tM%n", obj);
      System.out.printf("Seconds: %tS%n", obj);
   }
}

Đầu ra

15:50:28
Hours: 15
Minutes: 50
Seconds: 28

Ví dụ

Ví dụ sau minh họa cách in thời gian 12 giờ và 24 giờ bằng phương thức java pritntf ().

import java.util.Date;
public class Example {
   public static void main(String args[]) {  
      //creating the date class
      Date obj = new Date();
      System.out.printf("%tT%n", obj);
      System.out.printf("Time 12 hours: %tI:%tM %tp %n", obj, obj, obj); System.out.printf("Time 24 hours: %tH: hours %tM: minutes %tS: seconds%n", obj, obj, obj);
   }
}

Đầu ra

11:38:08
Time 12 hours: 11:38 am
Time 24 hours: 11: hours 38: minutes 08: seconds

Nếu bạn quan sát trong ví dụ trên, chúng ta đang sử dụng cùng một ngày đối tượng để in các giá trị khác nhau, chúng ta có thể tránh nhiều đối số bằng cách sử dụng tham chiếu chỉ mục 1 $ như được hiển thị bên dưới -

Ví dụ

import java.util.Date;
public class Example {
   public static void main(String args[]) {  
      //creating the date class
      Date obj = new Date();
      System.out.printf("%tT%n", obj);
      System.out.printf("Time 12 hours: %tI:%1$tM %1$tp %n", obj);
      System.out.printf("Time 24 hours: %1$tH: hours %1$tM: minutes %1$tS: seconds%n", obj);
   }
}

Đầu ra

11:47:13
Time 12 hours: 11:47 am
Time 24 hours: 11: hours 47: minutes 13: seconds