首页 > 解决方案 > 如何将波斯日期字符串转换为日期时间格式

问题描述

根据以下代码,当我在方法中收到回历(波斯)时间字符串并想将其转换为日期时间时,如果我希望回历(波斯)格式为日期时间,格式将返回为公历格式。

        public static DateTime Convert_String_To_DateTime(string PersianDate, string Time)
    {
        PersianCalendar pc = new PersianCalendar();
        int year = Convert.ToInt32(PersianDate.Substring(0, PersianDate.IndexOf('/')));
        int month = Convert.ToInt32(PersianDate.Substring(PersianDate.IndexOf('/') + 1, 2));
        int day = Convert.ToInt32(PersianDate.Substring(PersianDate.IndexOf('/') + 4, 2));
        int hour = Convert.ToInt32(Time.Substring(0, Time.IndexOf(':')));
        int min = Convert.ToInt32(Time.Substring(Time.IndexOf(':') + 1));
        DateTime ConvertedDate = new DateTime(year, month, day, hour, min, 0, pc);
        return ConvertedDate;
    }

标签: c#asp.netasp.net-mvcasp.net-core

解决方案


我不是 100% 确定您想要完成什么,但如果您想更改日期和时间的输出,您可以使用

 DateTime dt = DateTime.Now;
 string mydate = dt.ToString("dd-MM-yyyy hh:mm:ss");

dd - 天 MM - 月短前。八月你会得到 08 如果你只想要 8 使用单个 M 和 MMM 3 个字母和 MMMM 整个月,比如八月 yyyy - 年同样的规则也适用于年份 hh-Hour mm-minute ss secont 你也有 tt这将显示你上午/下午


推荐阅读