Javascript and Java utilities for converting between the Nepali Bikram Sambat (Vikram Samvat) and Gregorian (standard European) calendars.
npm install bikram-sambat
var bs = require('bikram-sambat');
var days_in_baisakh_2000 = bs.daysInMonth(2000, 1);
console.log(bs.toBik_euro('2017-03-28'));
> 2073-12-15
console.log(bs.toBik_dev('2017-03-28'));
> २०७३-१२-१५
console.log(bs.toBik_text('2017-03-28'));
> १५ चैत २०७३
Returns the number of days in a given month of a specific year in the Bikram Sambat calendar.
Parameters:
year
(number): The Bikram Sambat year.month
(number): The month (1-12).
Returns:
number
: The number of days in the specified month of the given year.
Example:
const days = daysInMonth(2079, 5); // 30
Converts a Gregorian date to Bikram Sambat.
Parameters:
greg
(string): The Gregorian date in ISO format (e.g., '2024-07-24').
Returns:
object
: An object representing the Bikram Sambat date withyear
,month
, andday
.
Example:
const bsDate = toBik('2024-07-24');
// { year: 2081, month: 4, day: 9 }
Converts a Bikram Sambat date to Devanagari script.
Parameters:
year
(number): The Bikram Sambat year.month
(number): The Bikram Sambat month (1-12).day
(number): The Bikram Sambat day.
Returns:
object
: An object with the Devanagari script representation of the day, month, and year.
Example:
const devanagariDate = toDev(2081, 4, 9);
// { day: '०९', month: 'साउन', year: '२०८१' }
Converts a Gregorian date to Bikram Sambat in the format YYYY-MM-DD
.
Parameters:
greg
(string): The Gregorian date in ISO format (e.g., '2024-07-24').
Returns:
string
: The Bikram Sambat date inYYYY-MM-DD
format.
Example:
const bsDateStr = toBik_euro('2024-07-24');
// '2081-04-09'
Converts a Gregorian date to Bikram Sambat in Devanagari script.
Parameters:
greg
(string): The Gregorian date in ISO format (e.g., '2024-07-24').
Returns:
string
: The Bikram Sambat date in Devanagari script.
Example:
const devanagariBsDateStr = toBik_dev('2024-07-24');
// '०९ साउन २०८१'
Converts a Gregorian date to a textual representation of the Bikram Sambat date.
Parameters:
greg
(string): The Gregorian date in ISO format (e.g., '2024-07-24').
Returns:
string
: The Bikram Sambat date in textual format (e.g., '09 साउन 2081').
Example:
const bsDateText = toBik_text('2024-07-24');
// '०९ साउन २०८१'
Converts a Bikram Sambat date to Gregorian.
Parameters:
year
(number): The Bikram Sambat year.month
(number): The Bikram Sambat month (1-12).day
(number): The Bikram Sambat day.
Returns:
object
: An object representing the Gregorian date withyear
,month
, andday
.
Example:
const gregDate = toGreg(2081, 4, 9);
// { year: 2024, month: 7, day: 24 }
Converts a Bikram Sambat date to Gregorian in YYYY-MM-DD
format.
Parameters:
year
(number): The Bikram Sambat year.month
(number): The Bikram Sambat month (1-12).day
(number): The Bikram Sambat day.
Returns:
string
: The Gregorian date inYYYY-MM-DD
format.
Example:
const gregDateStr = toGreg_text(2081, 4, 9);
// '2024-07-24'
Java utilities for converting between the Nepali Bikram Sambat (Vikram Samvat) and Gregorian (standard European) calendars.
// TODO include gradle config here
BsCalendar bs = BsCalendar.getInstance();
int daysInBaisakh2000 = bs.daysInMonth(2000, 1);
System.out.println(bs.toBik_euro('2017-03-28'));
> 2073-12-15
System.out.println(bs.toBik_dev('2017-03-28'));
> २०७३-१२-१५
System.out.println(bs.toBik_text('2017-03-28'));
> १५ चैत २०७३
Re-usable Android widgets for date inputs using Bikram Sambat calendar.
See usage examples in java/android-demo-app
.
twitter-bootstrap widget available from npm
:
require('bikram-sambat-bootstrap');
For usage example, see bootstrap/dist
.
- Install android sdk
- Execute
make test
- Update
/test-data/daysInMonth.json
as required - The first entry in
/test-data/daysInMonth.json
as the BS Epoch. Take this and convert it to AD and update the bsEpoch constant below. - Run the script: node ./scripts/encode-days-in-month.js
- Copy the output code into the files overwriting the existing hardcoded values
- Make a tag called
java-${version}
, eg:java-1.0.0
- Push your tag
- Wait for travis to publish to our maven repo
- Make a tag called
js-${version}
, eg:js-1.5.1
- Run
make release-js
- Push your tag
- If you've made changes to the JavaScript library, publish it first and update the
/bootstrap/package.json
file to depend on the updated libary - Make a tag called
bootstrap-${version}
, eg:bootstrap-1.4.3
- Run
make release-bootstrap
- Push your tag