I need to convert new Date() to Julian date format.is there is any build in java function for this. my exact requirement is
Represents the creation date of the file in
I recommend that you use java.time, the modern Java date and time API, for your date work. The format you need is built in.
LocalDate today = LocalDate.now(ZoneId.systemDefault());
String ordinalDateString = today.format(DateTimeFormatter.ISO_ORDINAL_DATE);
System.out.println(ordinalDateString);
Output for today January 20, 2021 in standard ISO 8601 format:
2021-020
The format you mention, 0YYDDD
, is peculiar. It’s nothing I have seen before. If you’re serious about it, define a formatter that gives it:
DateTimeFormatter peculiarDateFormatter = DateTimeFormatter.ofPattern("0uuDDD");
021020
The day number of the year that you ask for is called the ordinal date, which is why the built-in formatter also has ordinal in its name. A Julian day is something else, the continuous count of days since January 1, 4713 BCE. The ordinal date is sometimes referred to as Julian, but there is nothing genuinely Julian about it, so to avoid confusion, prefer ordinal over Julian.