在 Xamarin.Android 中的日历之间转换日期 [英] Converting Dates between Calendars in Xamarin.Android

查看:21
本文介绍了在 Xamarin.Android 中的日历之间转换日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下将公历日期转换为回历日期的代码片段.

I have the following snippet of Code for Convert Gregorian Date to Hijri Date.

public static string GregoriantoHijri(DateTime gregorianDate)
{
    CultureInfo arCI = new CultureInfo("ar-SA");
    var hijriCalendar = new HijriCalendar();
    hijriCalendar.HijriAdjustment = App_Code.StoreRetrieveSettingsAssist.getHA();
    arCI.DateTimeFormat.Calendar = hijriCalendar;  //CODE FAILS HERE
    string hijriDate = gregorianDate.ToString("dd-MM-yyyy", arCI);

    return hijriDate;
}

此代码非常适合我的 Windows Mobile 应用程序,该应用程序也发布在 Store 上.但是,相同的代码在 Xamarin.Android 中给我带来了问题

错误:

System.ArgumentOutOfRangeException:
不是给定文化的有效日历.
参数名称:值

System.ArgumentOutOfRangeException:
Not a valid calendar for the given culture.
Parameter name: value

我不明白为什么使用相同 .NET 基类的代码在不同平台上会出现问题.您能否提出解决方法,因为这似乎不起作用.

I don't understand why codes using same .NET base class have issues on different platforms. Can you suggest a workaround cause this doesn't seem to work.

推荐答案

您可能需要考虑 NodaTime.据说它比原生 .NET 日期时间处理更健壮,并且应该支持 Hijri.

You might want to consider NodaTime. It is supposedly more robust than the native .NET datetime handling, and is supposed to support Hijri.

这篇关于在 Xamarin.Android 中的日历之间转换日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆