Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะใช้การจัดรูปแบบด้วย printf () อย่างถูกต้องใน Java ได้อย่างไร


วิธี printf() ใช้ในการพิมพ์สตริงที่จัดรูปแบบ โดยยอมรับสตริงที่แสดงถึงสตริงรูปแบบและอาร์เรย์ของวัตถุที่แสดงถึงองค์ประกอบที่จะอยู่ในสตริงผลลัพธ์ หากจำนวนอาร์กิวเมนต์มากกว่าจำนวนอักขระ ในรูปแบบสตริงวัตถุส่วนเกินจะถูกละเว้น

ตารางต่อไปนี้แสดงรายการอักขระรูปแบบต่างๆ เพื่อจัดรูปแบบเวลาโดยเมธอด Java printf() พร้อมกับคำอธิบาย -

จัดรูปแบบอักขระ คำอธิบาย
'H'
อาร์กิวเมนต์ที่เกี่ยวข้องมีรูปแบบเป็นชั่วโมงของวัน (00-24)
'ฉัน'
อาร์กิวเมนต์ที่เกี่ยวข้องมีรูปแบบเป็นชั่วโมงของวัน (01 -12)
'k'
อาร์กิวเมนต์ที่เกี่ยวข้องมีรูปแบบเป็นชั่วโมงของวัน (0-24)
'ล'
อาร์กิวเมนต์ที่เกี่ยวข้องมีรูปแบบเป็นชั่วโมงของวัน (1-12)
'ม'
อาร์กิวเมนต์ที่เกี่ยวข้องมีรูปแบบเป็นนาทีของชั่วโมง (00-59)
ส'
อาร์กิวเมนต์ที่เกี่ยวข้องมีรูปแบบเป็นวินาทีของนาที (00-60)
'ล'
อาร์กิวเมนต์ที่เกี่ยวข้องมีรูปแบบเป็นมิลลิวินาที (000-999)
'น'
อาร์กิวเมนต์ที่เกี่ยวข้องมีรูปแบบเป็นนาโนวินาที (0000000000 - 999999999)
'p'
อาร์กิวเมนต์ที่เกี่ยวข้องมีรูปแบบเป็น pm หรือ am
'z'
อาร์กิวเมนต์ที่เกี่ยวข้องมีรูปแบบเป็นเวลา zxone
'Z'
อาร์กิวเมนต์ที่เกี่ยวข้องมีรูปแบบเป็นสตริงที่แสดงถึงเขตเวลา
ของ'
อาร์กิวเมนต์ที่เกี่ยวข้องมีรูปแบบเป็นวินาทีนับตั้งแต่ยุค
'คิว'
อาร์กิวเมนต์ที่เกี่ยวข้องมีรูปแบบเป็นมิลลิวินาทีตั้งแต่ยุค

ตัวอย่าง

ตัวอย่างต่อไปนี้จะสาธิตวิธีการจัดรูปแบบค่าวันที่โดยใช้เมธอด 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);
   }
}

ผลลัพธ์

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

ตัวอย่าง

ตัวอย่างต่อไปนี้สาธิตวิธีการพิมพ์ 12 ชั่วโมงและ 24 ชั่วโมงโดยใช้วิธี 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);
   }
}

ผลลัพธ์

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

หากคุณสังเกตในตัวอย่างข้างต้น เรากำลังใช้ วันที่ . เดียวกัน วัตถุเพื่อพิมพ์ค่าต่าง ๆ เราสามารถหลีกเลี่ยงหลายอาร์กิวเมนต์โดยใช้ดัชนีอ้างอิง 1$ ดังที่แสดงด้านล่าง -

ตัวอย่าง

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);
   }
}

ผลลัพธ์

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