使用库将公历转换为波斯日期

Converting a Gregorian to a Persian date with a Library

我想在我的 android 应用程序中使用波斯日期,我正在使用这个 Library

但是我在格式化日期时遇到问题,例如

  SimpleDateFormat sdf = new SimpleDateFormat("yyyy MMM dd");
        Calendar calendar = new GregorianCalendar(2017,9,14);


        System.out.println(sdf.format(calendar.getTime()));

在上面的代码中,我的结果是:2017/9/14

如何用我说的库显示波斯日期

像这样调用函数

PersianDate pdate = new PersianDate(Calendar.getInstance(());
PersianDateFormat pdformater1 = new PersianDateFormat('Y/m/d');
pdformater1.format(pdate);

如果您想解析字符串日期,请使用:

    PersianDateFormat pdformater1 = new PersianDateFormat("yyyy/MM/dd");
    try {
        PersianDate persianDate = pdformater1.parse("1397/06/21");
        Log.e("DATE", "date " + persianDate.getShYear() + "-" + persianDate.getShMonth() + "-" + persianDate.getShDay());
    } catch (ParseException e) {
        e.printStackTrace();
    }

PersianDate 是一个很棒的波斯日历库。它有很多格式化日期和时间的工具。你可以通过这个Gradle依赖

来使用它
dependencies
{
    implementation 'com.github.samanzamani.persiandate:PersianDate:0.8'
}

要访问更新依赖项,请检查此 link

例如:

PersianDate pdate = new PersianDate();
PersianDateFormat pdformater1 = new PersianDateFormat('Y/m/d');
pdformater1.format(pdate);//1396/05/20