メインコンテンツまでスキップ

フォームの西暦日付を旧暦の日付に変換します

1. 使用シーン

Lunar.jsとjsapiを利用して、西暦の日付を旧暦に変えることができます。この例では、西暦の日付を旧暦に変える方法を学びます。

ドキュメントの使用:https:// ヘッダー

2. 機能を実現する

2.1. フォーム設定

変換された旧暦の日付情報を格納するために、データソースにsolar2lunarresult変数を追加します。

2.2. Didmount関数にlunar.jsを導入する

次のコードをdidmountにコピーします。

export function didMount() {
// 引入 lunar.js
this.utils.loadScript('https://g.alicdn.com/code/lib/lunar-javascript/1.6.4/lunar.min.js').then(() => {
console.log('success');
}).catch(() => {
this.utils.toast({
title: 'JS 引入失败',
type: 'error',
});
});
}

2.3. 西暦日付変換旧暦情報関数の設定

次のコードをページjsにコピーします。

/**
* 公历日期转换农历信息
* 使用文档:https://6tail.cn/calendar/api.html#lunar.new.html
* @param timeStamp:Number,公历时间戳
*/
export function solar2Lunar(timeStamp = '') {
if (!timeStamp) {
return {};
}
const solar = Solar.fromDate(new Date(timeStamp));
const lunar = solar.getLunar();
return {
yearInChinese: lunar.getYearInChinese(), // 年(中文)
monthInChinese: lunar.getMonthInChinese(), // 月(中文)
dayInChinese: lunar.getDayInChinese(), // 日(中文)
weekInChinese: lunar.getWeekInChinese(), // 星期(中文)
yearInNumber: lunar.getYear(), // 年(数字)
monthInNumber: lunar.getMonth(), // 月(数字)
dayInNumber: lunar.getDay(), // 日(数字)
weekInNumber: lunar.getWeek(), // 星期(数字)
shengXiao: lunar.getYearShengXiao(), // 生肖
};
}


2.4. 日付コンポーネントで使用

export function onChange({ value }) {
this.setState({
solar2LunarResult: this.solar2Lunar(value),
});
}

2.5. 変換結果をページコンポーネントにバインドします

3. 効果を実現する

4. オンラインで試遊する

この文書は機械翻訳により生成されています。翻訳により生じた齟齬や相違点は拘束力を持たず、コンプライアンスや執行目的において法的効力はありません。
© DingTalk (Singapore) Private Limited