Display Era details (AD BC) in Java Date


In order to display the Era the date belongs to AD or BC for a date in Java you need to make use of the SimpleDateFormat class with the date pattern that makes use of G

Example: Display Era in Java date

package com.company;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Main {

    public static void main(String[] args) throws ParseException {

        String beforeChrisDate = "22 01 -2020";
        String annoDominiDate = "22 01 2021";

        DateFormat simpleDateFormat = new SimpleDateFormat("dd MM yyyy");
        DateFormat simpleDateFormatEra = new SimpleDateFormat("dd MM yyyy G");

        Date bcDate = simpleDateFormat.parse(beforeChrisDate);
        Date adDate = simpleDateFormat.parse(annoDominiDate);

        System.out.println(simpleDateFormatEra.format(bcDate));
        System.out.println(simpleDateFormatEra.format(adDate));

    }

}

Output:
22 01 2021 BC
22 01 2021 AD

As you can see in the above example, we first created a string that holds the date in dd MM yyyy format, then we converted it into a Date object and while displaying the date we used the format dd MM yyyy G, the negative year is displayed with suffix BC - Before Christ and positive year is displayed as AD - Anno Domini.

Display Date with BC and AD Era Java
Display Date with BC and AD Era Java



Recent Posts:




Code2care is an initiative to publish and share varied knowledge in programming and technical areas gathered during day-to-day learnings and development activities.

Students and Software Developers can leverage this portal to find solutions to their various queries without re-inventing the wheel by referring to our easy to understand posts. Technical posts might include Learnings, Video Tutorials, Code Snippets, How Tos, Blogs, Articles, etc.