Medium length style format for Date with Java MessageFormat class

Java 8Object Oriented ProgrammingProgramming

To format message with medium style format of date in Java, we use the MessageFormat class and the Date class. The MessageFormat class gives us a way to produce concatenated messages which are not dependent on the language. The MessageFormat class extends the Serializable and Cloneable interfaces.

Declaration − The java.text.MessageFormat class is declared as follows −

public class MessageFormat extends Format

The  MessageFormat.format(pattern, params) method formats the message and fills in the missing parts using the objects in the params array matching up the argument numbers and the array indices.

The format method has two arguments, a pattern and an array of arguments. The pattern contains placeholder in {} curly braces which have an index that indicates the position in the array where the value of the argument is stored, a time argument indicating that the filler is time and a medium parameter indicating that the time is expressed in a medium format. They are as follows −

String message = MessageFormat.format("{0,time,medium} & UTC(0) : {1,time,medium}", obj);

Let us see a program to use a medium style format in a message in Java −


 Live Demo

import java.text.MessageFormat;
import java.util.Date;
public class Example {
   public static void main(String[] args) throws Exception {
      Object[] obj = new Object[] { new Date(), new Date(0)};
      String message = MessageFormat.format("{0,time,medium} & UTC(0) : {1,time,medium}", obj);


7:35:17 AM & UTC(0) : 12:00:00 AM
Published on 08-Jan-2019 14:33:30