c# - 如何在 C# 中的 Windows 窗体上设置波斯日历

标签 c#

使用这段代码我强制文本框只接受波斯语单词:

private void CommenttxtBox_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
    System.Globalization.CultureInfo Language = 
        new System.Globalization.CultureInfo("Fa-ir");

    InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(Language);
}

还有一个计时器,我在我的表格上放了一个英文日历:

private void ShowTime_Tick(object sender, EventArgs e)
{
    ShowTimelbl.Text = DateTime.Now.ToString();
}

有没有办法让日期时间显示波斯 (jalali) 时间?

最佳答案

您需要创建一个 PersianCalendar 类的实例。 它可以将任何 DateTime 值转换为波斯年月日。

var persianCalendar = new PersianCalendar();
var dateTime = DateTime.Now;
var year = persianCalendar.GetYear(dateTime);
var month = persianCalendar.GetMonth(dateTime);
var day = persianCalendar.GetDayOfMonth(dateTime);
var date = string.Format("{0}/{1}/{2}", year, month, day);

然后向用户显示此 date 字符串。

关于c# - 如何在 C# 中的 Windows 窗体上设置波斯日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36153637/

相关文章:

c# - 在 C#.net 中的 Winform 之间传递值

c# - 使用 ManualResetEventSlim 而不是 ManualResetEvent 的最短等待时间是多少?

c# - 如何以编程方式创建 NDepend 项目文件?

c# 查找包含坐标的所有多边形的最佳方法/数据结构?

c# - UWP - MediaPlayerElement 与 MediaElement

c# - Compact Framework - OpenNetCf.Net FTP 示例?

c# - 当使用 Contract.Assert(true) 并且该方法必须返回某些内容时该怎么办?

c# - asp.NET 是否在每次触发事件时调用类构造函数后面的代码?

c# - 阅读 .Net 堆栈跟踪

c# - SharpDX 将 2D 多边形渲染到屏幕外位图