5

我正在尝试将airbnb react-dates与非英语语言环境(波斯语)一起使用,除本月的第一天外,一切正常。

月份不是从波斯(Jalaali)日历的第一天开始到第 30 天,而是从当月的第 10 天开始,一直持续到下个月的第 10 天。

这个问题甚至存在于他们的例子中。我想知道是否有任何方法可以解决这个问题。

4

2 回答 2

3

我一直在一个项目中处理这个问题,这个问题目前是 airbnb react-dates 中的一个未解决问题。为了解决这个问题,我已经分叉了原始项目,以便它与 jalali 时刻一起工作,并且月份从正确的日期开始,到 github 和 npm 存储库的链接是:

如何使用:

  • import momentJalali from 'moment-jalaali'

  • 在要使用 datepicker 的组件的构造函数中设置适当的语言环境:

    momentJalali.locale('fa')

  • 从分叉的存储库中导入日期选择器:

import {SingleDatePicker,DateRangePicker} from "react-dates-jalali";

  • 在渲染部分以下列方式使用 singdatepicker:

    <SingleDatePicker
          date={date} //momentDate if you have not set this property,it automatically sets to today
          focused={this.onFocusChange}//function change focused:open-close
          onFocusChange={.../function}
          showClearDate={true}
          required={true}
          isRTL={true}
          monthFormat={monthFormat}//for persian:'jMMMM jYYYY', for english :'MMMM YYYY'
          onDateChange={this.onDateChange}//function set your date Change
     />
    
  • 在渲染部分以下列方式使用 daterangepicker:

     <DateRangePicker
      startDate={startDate} //moment startDate if you have not set this property,it automatically sets to today
      endDate={endDate} //moment endDate
      onFocusChange={.../function}
      required={true}
      isRTL={true}
      onDatesChange={this.onDatesChange}//function set startDate and endDate
    focusedInput={focusedInput}//similar to airbnb api-open\close
    showClearDates={true}
      monthFormat={monthFormat}//for persian:'jMMMM jYYYY', for english :'MMMM YYYY'
       />
    

不用说,这个存储库支持所有其他此处未提及的 airbnb react-dates api。

如果您的站点是多语言的,您也可以使用此存储库,并且您可以随时更改区域设置和月份格式。

于 2018-02-05T09:17:54.990 回答
0

我刚刚像这样导入了时刻语言环境,它起作用了:

import moment from 'moment';
import 'moment/locale/pt-br';
于 2020-10-16T21:04:40.693 回答