मैं ग्रेगरी वर्ष को हिजरी वर्ष कैसे बदल सकता हूं?
मैं ग्रेगोरियन तारीख को हाइव्री तिथि को 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
आप नीचे दिखाए गए अनुसार बस एक 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 तिथि-समय एपीआई के बारे में अधिक जानें : तिथि समय ।