首页 > 文章列表 > 在Java中如何正确使用printf()函数进行格式化输出?

在Java中如何正确使用printf()函数进行格式化输出?

-Java -printf() -格式化输出
179 2023-09-07

printf() 方法用于打印格式化字符串,它接受一个表示格式字符串的字符串和一个表示结果字符串中的元素的对象数组,如果参数数量大于格式字符串中的字符数,多余的对象将被忽略。

下表列出了 Java printf() 方法格式化时间的各种格式字符及其描述 -

< tr>< /tr>
格式字符说明
'H'

相应参数的格式为一天中的小时 (00-24)。

'I'

相应的参数格式为一天中的小时 (01 -12)。

'k'

相应参数的格式为一天中的小时 (0-24)。

'l'

相应参数的格式为一天中的小时 (1-12)。

< /td>

'M'

相应参数的格式为一小时的分钟数 (00-59)。

'S'

相应参数的格式为一分钟的秒数 (00-60)。

'L'

对应的参数格式为毫秒(000-999) .

'N'

相应参数的格式为纳秒(000000000 - 999999999)。

'p'

对应的参数格式为 pm 或 am .

'z'

相应的参数格式为时间 zxone。

'Z'

相应的参数格式为表示时区的字符串。

's'

相应的参数格式为自纪元以来的秒数。

'Q'

相应的参数格式为自纪元以来的毫秒数。

示例

以下示例演示如何使用 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

示例

以下示例演示如何使用 java pritntf() 方法打印 12 小时和 24 小时时间。

现场演示

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

如果您在上面的示例中观察到,我们使用相同的 date 对象来打印不同的值,我们可以使用索引引用 1$ 来避免多个参数,如下所示 -

< h2>示例

现场演示

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