提供されたネパール語日付 (Bikram Sambat (BS)) を英語の同等の日付 (AD)/グレゴリオ日付に変換します。
ネパールのカレンダーには、イギリスのカレンダーのように月の長さが一定ではありません。月の日数は変化し続けるため、ネパールの特定の月と年の日数を見つけるアルゴリズムを作成することはできません。ネパール暦メーカーさんにネパール暦の無限カレンダーを作ってもらいたいです。現時点では、ネパール語の日付を英語の日付に変換するときにルックアップ テーブルを使用する必要があります。
Bikram Sambat (BS) の年の最初の日と同等のグレゴリオ暦の日付とのマッピングを見つける必要があります。変換したいすべてのネパール年に対してこれを実行します (例: 2001 Baisakh 1 "13-Apr-1944" ……… …)。 2068 バイサク 1 "2011 年 4 月 14 日"
各月の日数をすべて知りたい場合は、次の URL が役立ちます。
BS から AD への変換に必要な手順:
2001 Ashar 6 を換算する必要がある場合は、Bikram Sambat 年の開始 (2001 Baisakh 1) からの経過日数を求めます。
アシャールは、表に示されているように、BS の 3 番目の月 (バイサク、ジェスタ、アシャール) です。したがって、経過日数は 31+31+6-1 = 67(バイサクの日数 +ジェスタの日数 +month_of_day-1) となります。 month_of_day は、変換が必要な月の日です。 Baisakh 1 が既に含まれているため、1 が減算されます。
経過日数をグレゴリオ暦の同等の日付 (1944 年 4 月 13 日) に加算します。例: (1944 年 4 月 13 日)+67 = 1944 年 6 月 19 日。これは、2001 アシャール 6 のグレゴリオ暦の日付に正しく変換されます。
ビクラム・サンバットについて: * https://en.wikipedia.org/wiki/Bikram_Sambat
Why Nepali year 1974 has total days 364 instead of 365 days ?
Why Nepali year 1976 has total days 366 instead of 365 days ?
Why Nepali year 1984 has total days 366 instead of 365 days ?
Why Nepali year 1988 has total days 366 instead of 365 days ?
Why Nepali year 1990 has total days 364 instead of 365 days ?
Why Nepali year 2003 has total days 366 instead of 365 days ?
Why Nepali year 2007 has total days 366 instead of 365 days ?
Why Nepali year 2011 has total days 366 instead of 365 days ?
Why Nepali year 2015 has total days 366 instead of 365 days ?
Why Nepali year 2019 has total days 366 instead of 365 days ?
Why Nepali year 2023 has total days 366 instead of 365 days ?
Why Nepali year 2026 has total days 366 instead of 365 days ?
Why Nepali year 2030 has total days 366 instead of 365 days ?
Why Nepali year 2034 has total days 366 instead of 365 days ?
Why Nepali year 2038 has total days 366 instead of 365 days ?
Why Nepali year 2042 has total days 366 instead of 365 days ?
Why Nepali year 2046 has total days 366 instead of 365 days ?
Why Nepali year 2050 has total days 366 instead of 365 days ?
Why Nepali year 2054 has total days 366 instead of 365 days ?
Why Nepali year 2057 has total days 366 instead of 365 days ?
Why Nepali year 2061 has total days 366 instead of 365 days ?
Why Nepali year 2065 has total days 366 instead of 365 days ?
Why Nepali year 2069 has total days 366 instead of 365 days ?
Why Nepali year 2073 has total days 366 instead of 365 days ?
Why Nepali year 2077 has total days 366 instead of 365 days ?
Why Nepali year 2081 has total days 366 instead of 365 days ?
Why Nepali year 2082 has total days 366 instead of 365 days ?
Why Nepali year 2085 has total days 367 instead of 365 days ?
Why Nepali year 2086 has total days 366 instead of 365 days ?
Why Nepali year 2087 has total days 366 instead of 365 days ?
Why Nepali year 2089 has total days 366 instead of 365 days ?
Why Nepali year 2090 has total days 366 instead of 365 days ?
Why Nepali year 2091 has total days 366 instead of 365 days ?
Why Nepali year 2092 has total days 366 instead of 365 days ?
Why Nepali year 2093 has total days 366 instead of 365 days ?
Why Nepali year 2095 has total days 366 instead of 365 days ?
Why Nepali year 2096 has total days 364 instead of 365 days ?
Why Nepali year 2097 has total days 366 instead of 365 days ?
Why Nepali year 2098 has total days 366 instead of 365 days ?
これはMavenプロジェクトです。 pom.xml を使用して、お気に入りの IDE にプロジェクトをインポートします。
テストのみを実行する
$ mvn test
以下のコマンドでメインクラスnp.com.bahadur.converter.date.nepali.DateConverterTestBed.main
を実行します
$ mvn exec:java
JDK_バージョン >= JDK 1.8
クローン https://github.com/bahadurbaniya/Date-Converter-Bikram-Sambat-to-English-Date/
以下のコマンドを実行して、jar を Maven リポジトリにローカルにインストールします。 mvn clean install
これで、ライブラリを使用するサンプルコードに示すようにコードを使用できるようになりました。
インポート/生成されたjarを使用するプロジェクトに次のコードを記述します。
< dependency >
< groupId > np.com.bahadur.converter.date.nepali < /groupId >
< artifactId > NepaliEnglishDateConverter < /artifactId >
< version > 0.0. 1< /version >
< /dependency >
DateConverter dc = new DateConverter ();
System.out.println(dc.convertAdToBs( " 20-06-1982 " )) ;
DateConverter dc = new DateConverter ();
System.out.println(dc.convertBsToAd( " 06-03-2038 " )) ;