gpt4 book ai didi

c# - Jalali/波斯日期验证错误

转载 作者:行者123 更新时间:2023-11-30 17:48:01 24 4
gpt4 key购买 nike

我正在使用 C# 开发阿拉伯语/达里语/普什图语(针对阿富汗)的应用程序,还使用 ​​Jalali/波斯日历进行日期选择。我想在保存到数据库之前验证输入日期。我正在使用以下函数进行验证并将 Jalali/Persian 日历日期传递给此函数。当用户选择诸如“28/02/1393”之类的日期时,它可以完美运行,但它会抛出日期“31/02/1393”的错误。这两个日期都是有效的贾拉利/波斯日期。

我认为这个问题正在发生,因为考虑到这个日期的应用程序不知何故是英文的,并且英文日历中的第二个月没有任何第 31 天。请帮我找到解决方案。

static public bool ValidateParsianDate(string date)
{
bool status = true;

try
{
PersianCalendar persianCalendar = new PersianCalendar();
CultureInfo persianCulture = new CultureInfo("fa-IR");
DateTime persianDateTime = DateTime.ParseExact(date, "dd/MM/yyyy", persianCulture);
}
catch (Exception ex)
{
string msg = ex.Message;
status = false;
}

return status;
}

感谢和问候,

拉杰夫

最佳答案

使用 PersianCalendar.ToDateTime(
国际年,
整月,
国际日,
国际小时,
整分钟,
第二个,
整数毫秒,
时代
)
方法。

static public bool ValidateParsianDate(string date)
{
bool status = true;

try
{
PersianCalendar persianCalendar = new PersianCalendar();
var dateParts = date.Split(new char[] { '/' }).Select(d=> int.Parse(d)).ToArray();
var date = persianCalendar.ToDateTime(dateParts[2], dateParts[1], dateParts[0], 0, 0,0,0, /*8 era of year here **/);
}
catch (Exception ex)
{
string msg = ex.Message;
status = false;
}

return status;
}

关于c# - Jalali/波斯日期验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23814225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com