繁体   English   中英

如何将波斯日期字符串转换为日期时间格式

[英]How to convert Persian date string to Datetime format

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

        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;
    }

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

 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这将显示你上午/下午

您从 PersianCalendar 库中使用,您应该使用该库中的 function 解决您的问题

 Datetime miladiconvert= PersianDateTime.Parse(Yourvariable).ToDateTime();

但是你应该在这个解析中传递正确的格式,所以你应该我写的这个函数并使用它

       public string convertdate(string date)
    {
        string[] st = new string[3];
        st = date.Split('/');
        if (int.Parse(st[0]) < 10)//year
        {
            st[0] = "0" + st[0];
        }
        if (int.Parse(st[1]) < 10 && st[1].Length == 1)//month
        {
            st[1] = "0" + st[1];
        }
        if (int.Parse(st[2]) < 10 && st[2].Length == 1)//day
        {
            st[2] = "0" + st[2];
        }
        date = st[0] + "/" + st[1] + "/" + st[2];
        return date;
    }

最后,如果您想添加小时和分钟,您可以使用 from add

miladiconvert= miladiconvert.AddHours(your Hours)
miladiconvert=miladiconvert.AddMinutes(your Minutes)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM