2.5.4 β€’ Published 5 months ago

@thyrith/momentkh v2.5.4

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

NPM version GitHub issues GitHub forks GitHub stars GitHub license

momentkh

momentkh is an add-on feature to moment js library DEMO.

Install πŸ—œ

$ npm install moment --save
$ npm install @thyrith/momentkh --save

How to use πŸ›«

This library is built depends on moment.js popular library. We added some functionality to make it easier to work with Khmer date format.

Nodejs

const moment = require('moment');
// Add our features to your preferred moment.js version
require('@thyrith/momentkh')(moment);

// From now on, your moment js is transformed

let today = moment();

console.log(today);
// Display date today as moment js object
// For example: moment("2018-12-15T14:49:38.586")

let khmerDate = today.toLunarDate();

console.log(khmerDate);
// Display khmer date
// For example: αžαŸ’αž„αŸƒαžŸαŸ…αžšαŸ αŸ¨αž€αžΎαž αžαŸ‚αž˜αž·αž‚αžŸαž·αžš αž†αŸ’αž“αžΆαŸ†αž… αžŸαŸ†αžšαžΉαž‘αŸ’αž’αžŸαŸαž€ αž–αž»αž‘αŸ’αž’αžŸαž€αžšαžΆαž‡ ្αŸ₯៦្

HTML

First, you need to clone this package to the root of your project or your /public folder.

*** For momentjs library, you can import it any method or any version you want.

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<script src="momentkh/constant.js"></script>
<script src="momentkh/locale/km.js"></script>
<script src="momentkh/getSoriyatraLerngSak.js"></script>
<script src="momentkh/momentkh.js"></script>
<script>
	var moment = momentkh(moment)
	var today = moment()
	console.log('Today: ', today.toKhDate())
	console.log('New year at: ', moment.getKhNewYearMoment(2021))
</script>

Added Functionality 🎑

Attributes of moment instance

NameParameterDescriptionExample
toLunarDateempty or Stringdisplay format as Khmer lunar datemoment().toLunarDate();
khDayemptydisplay khmer day indexmoment().khDay(); 0 -> αŸ‘αž€αžΎαž 1 -> αŸ’αž€αžΎαž 2 -> αŸ£αž€αžΎαž ... 15 -> αŸ‘αžšαŸ„αž… 16 -> αŸ’αžšαŸ„αž… 17 -> αŸ£αžšαŸ„αž… ...
khMonthemptydisplay khmer month indexmoment.khMonth(); 0 -> αž˜αž·αž‚αžŸαž·αžš 1 -> αž”αž»αžŸαŸ’αžŸ 2 -> αž˜αžΆαžƒ 3 -> αž•αž›αŸ’αž‚αž»αž“ 4 -> αž…αŸαžαŸ’αžš 5 -> αž–αž·αžŸαžΆαž 6 -> αž‡αŸαžŸαŸ’αž‹ 7 -> ធអសអឍ 8 -> αžŸαŸ’αžšαžΆαž–αžŽαŸ 9 -> αž—αž‘αŸ’αžšαž”αž‘ 10 -> αž’αžŸαŸ’αžŸαž»αž‡ 11 -> αž€αž€αŸ’αžŠαž·αž€ 12 -> αž”αž‹αž˜αžΆαžŸαžΆαž 13 -> αž‘αž»αžαž·αž™αžΆαžŸαžΆαž
khYearemptydisplay Buddhist Era yearmoment().khYear();
Alias
NameOriginal
toKhDate, tokhdatetoLunarDate

Attributes of moment

NameParameterDescriptionExample
getKhNewYearMomentIntegerReturn moment.js object. Giving the moment of Khmer New Year. (αž–αŸαž›αž‘αŸαžœαžαžΆαž…αž»αŸ‡)moment.getKhNewYearMoment(2019);
readLunarDate(currently working on this)String or ObjectReturn moment.js object. Just same as calling: moment('13/04/2018', 'dd/mm/yyyy'); for Gregorian date moment.readLunarDate('៑αŸ₯αž€αžΎαž αž–αž·αžŸαžΆαž αž–.ស. ្αŸ₯αŸ₯αŸ₯');
Alias
NameOriginal
khDate, khdatereadLunarDate

Format

By default, it will return the format as shown in example above. However, you can also customize your format.

// Use moment.js as usual. Documentaion: momentjs.com
let myBirthday = moment('4/3/1992', 'd/m/yyy');

myBirthday.toLunarDate('dN αžαŸ’αž„αŸƒW αžαŸ‚m αž–.ស. b');
// αŸ¦αž€αžΎαž αžαŸ’αž„αŸƒαž–αŸ’αžšαž αžŸαŸ’αž”αžαž·αŸ αžαŸ‚αž˜αž·αž‚αžŸαž·αžš αž–.ស. ្αŸ₯៦្'
FormatDescriptionExample
WαžαŸ’αž„αŸƒαž“αŸƒαžŸαž”αŸ’αžŠαžΆαž αŸαž’αž„αŸ’αž‚αžΆαžš
wαžαŸ’αž„αŸƒαž“αŸƒαžŸαž”αŸ’αžŠαžΆαž αŸαž€αžΆαžαŸ‹αž’
dαžαŸ’αž„αŸƒαž‘αžΈ αž…αžΆαž”αŸ‹αž–αžΈαž›αŸαž ៑ αžŠαž›αŸ‹ ៑αŸ₯៑
DαžαŸ’αž„αŸƒαž‘αžΈ αž…αžΆαž”αŸ‹αž–αžΈαž›αŸαž ០៑ αžŠαž›αŸ‹ ៑αŸ₯០៑
nαž€αžΎαž ឬ αžšαŸ„αž…αž€
Nαž€αžΎαž ឬ αžšαŸ„αž…αž€αžΎαž
oαžšαž”αŸ€αž”αžŸαžšαžŸαŸαžšαžαŸ’αž›αžΈαž’αŸ†αž–αžΈαžαŸ’αž„αŸƒαž‘αžΈα§‘ (αž˜αžΆαž“αž“αŸαž™αžαžΆ αŸ‘αž€αžΎαž)
mαžαŸ‚αž…αž“αŸ’αž‘αž‚αžαž·αž˜αž·αž‚αžŸαž·αžš
MαžαŸ‚αžŸαž»αžšαž·αž™αž‚αžαž·αž˜αž€αžšαžΆ
aαž†αŸ’αž“αžΆαŸ†αžŸαžαŸ’αžœαžšαž€αžΆ
eαžŸαŸαž€αž―αž€αžŸαŸαž€
bαž†αŸ’αž“αžΆαŸ†αž–αž»αž‘αŸ’αž’αžŸαž€αžšαžΆαž‡αŸ’αŸ₯αŸ₯៦
cαž†αŸ’αž“αžΆαŸ†αž‚αŸ’αžšαž·αžŸαŸ’αžαžŸαž€αžšαžΆαž‡αŸ’αŸ αŸ‘αŸ©
jαž†αŸ’αž“αžΆαŸ†αž…αž»αž›αŸ’αž›αžŸαž€αžšαžΆαž‡αŸ‘αŸ€αŸ¦αŸ£

Bug Report πŸžπŸœπŸ¦—πŸ•·πŸ•ΈπŸ¦‚πŸ¦ŸπŸ›πŸŒπŸ’£

I know there will be a lot of error.

Testing

There is no test running on this package. If you are available for this work, it would be very awesome.

Contribute πŸ’‘

Welcome pull request

References

2.5.4

5 months ago

2.5.3

2 years ago

2.5.2

3 years ago

2.5.1

3 years ago

2.5.0

3 years ago

2.4.0

3 years ago

2.3.8

3 years ago

2.3.7

4 years ago

2.3.6

4 years ago

2.3.5

5 years ago

2.3.4

5 years ago

2.3.3

5 years ago

2.3.2

5 years ago

2.3.1

5 years ago

2.3.0

5 years ago

2.2.0

5 years ago

2.1.0

5 years ago

2.0.0

5 years ago

1.0.0

5 years ago