मैं ग्रेगरी वर्ष को हिजरी वर्ष कैसे बदल सकता हूं?

Aug 17 2020

मैं ग्रेगोरियन तारीख को हाइव्री तिथि को 8 जिव्हा में परिवर्तित करना चाहता हूं ताकि हिज्रचक्रोलॉजी लाइब्रेरी का उपयोग किया जा सके। मैंने नीचे दिए गए कोड आज़माए हैं, लेकिन सटीक रूप से काम नहीं करते हैं।

  Date date = new Date(); // Gregorian date
  Calendar cl=Calendar.getInstance();
  cl.set(Calendar.YEAR, date.getYear());

  HijrahDate islamyDate = HijrahChronology.INSTANCE.date(LocalDate.of(cl.get(Calendar.YEAR),cl.get(Calendar.MONTH)+1, cl.get(Calendar.DATE)));
        DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("uuuu");
        String gregorianString = "1994";
        LocalDate gregorianDate = LocalDate.parse(gregorianString, dateFormatter);
        HijrahDate islamicDate = HijrahDate.from(gregorianDate);
        System.out.println("Islamic date: " + islamicDate);

अद्यतन: मैं केवल वर्ष का हिस्सा बदलना चाहता हूं।

जवाब

3 LiveandLetLive Aug 17 2020 at 10:06

आप नीचे दिखाए गए अनुसार बस एक TemporalAccessorउदाहरण के लिए LocalDate, ZonedDateTimeआदि पास कर सकते HijrahChronology.INSTANCE#dateहैं:

import java.time.LocalDate;
import java.time.Month;
import java.time.ZoneId;
import java.time.chrono.HijrahChronology;
import java.time.chrono.HijrahDate;
import java.time.temporal.TemporalAdjusters;

public class Main {
    public static void main(String[] args) {
        // Change the time-zone as per your requirement.
        ZoneId myZoneId = ZoneId.of("Etc/UTC");

        HijrahDate hijrahDate1 = HijrahChronology.INSTANCE.date(LocalDate.now(myZoneId));
        System.out.println(hijrahDate1);

        // ########Another example########

        // HijrahDate on the last day of January 1994 at the time zone of Etc/UTC
        HijrahDate hijrahDate2 = HijrahChronology
                .INSTANCE                                   // Instance of HijrahChronology
                .date(LocalDate.of(1994, Month.JANUARY, 1)  // LocalDate of 01-Jan-1994
                .with(TemporalAdjusters.lastDayOfMonth())   // On the last day of Jan-1994
                .atStartOfDay()                             // At the start of the day i.e. 00:00
                .atZone(myZoneId));                         // At the time zone of Etc/UTC
        System.out.println(hijrahDate2);
    }
}

आउटपुट:

Hijrah-umalqura AH 1441-12-27
Hijrah-umalqura AH 1414-08-19

ट्रेल में जावा -8 तिथि-समय एपीआई के बारे में अधिक जानें : तिथि समय