js公历生日转农历

场景

用户填写完成身份证号码之后自动带出相关信息、例如户籍所在地、性别、年龄等,当然还有本期要说的农历生日

实现分三步

第一步 下包

npm install lunar-calendar

第二步 编写处理方法

// 1. 引入
const lunarCalendar = require('lunar-calendar');

// 2. js方法
 /**
  * 获取农历生日
  * @param {String} idNumber 身份证号
 */
function getLunarBirthday (idNumber) {
	// 2.1 提取身份证号中的出生年月日
	const birthYear = idNumber.substring(6, 10);
	const birthMonth = idNumber.substring(10, 12);
 	const birthDay = idNumber.substring(12, 14);

  	// 2.2 转换为农历日期
 	const lunarDate = lunarCalendar.solarToLunar(birthYear, birthMonth, birthDay);

  	// 2.3 返回农历生日
  	return `${lunarDate.lunarMonthName}${lunarDate.lunarDayName}`;
}

第三步 实践调用

const chineseBirthday = getLunarBirthday('xxxxxx19530728xxxx') // 证件号码不便展示,当前只展示年月日
console.log('农历生日为:', chineseBirthday)
打印结果

控制台打印结果

查看日历核对一下正确与否

线上日历1953.7.28对应的农历日期

参考资料

npm的lunar-calendar

小工具

生成测试证件号码

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不断蜕变灬青春

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值