作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何将 Shamsi 日期转换为 Miladi 日期?
例如我的值是 1374/06/27 我想将此日期转换为 Miladi 日期 1995/09/18 .
我找不到将 Shamsi 转换为 Miladi 的函数。
这是什么功能?
最佳答案
此答案假定“Shamsi”表示“Solar Hijri”或“Persian”日历,而“Miladi”表示“Gregorian Calendar”。这就是我的研究表明的,尽管我以前从未听说过任何一个术语。
使用 System.DateTime
如果您喜欢使用内置类型,则可以像这样简单地执行转换:
Calendar persian = new PersianCalendar();
DateTime date = new DateTime(1374, 6, 27, persian);
Console.WriteLine(date.Year); // 1995
Console.WriteLine(date.Month); // 9
Console.WriteLine(date.Day); // 18
基本上
DateTime
总是在公历系统中,即使您使用不同的日历系统构造一个值。 (请注意,仅使用
Console.WriteLine(date)
会将其转换回您的默认文化的默认日历系统,这就是我没有在同一代码中这样做的原因。)
persian.GetYear(date)
等等。
System.DateTime
etc - 在我的
NodaTime library 中,当您指定日历系统时,这是值本身的一部分。所以你可以用波斯历系统构造一个日期,这就是它将永远使用的日历系统 - 但是很容易将它转换为公历系统中的日期,反之亦然:
LocalDate persianDate = new LocalDate(1374, 6, 27, CalendarSystem.PersianArithmetic);
LocalDate gregorianDate = persianDate.WithCalendar(CalendarSystem.Gregorian);
显然,我认为为了清晰起见,值得使用 NodaTime - 以及许多其他原因 - 但选择权在你。
关于c# - 转换为 shamsi 日期到 miladi 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62642715/
如何将 Shamsi 日期转换为 Miladi 日期? 例如我的值是 1374/06/27 我想将此日期转换为 Miladi 日期 1995/09/18 . 我找不到将 Shamsi 转换为 Mila
有谁知道如何使用 Excel/Google 表格函数 将波斯日期转换为公历日期?例如: 1401/06/06 到: 2022/08/28 P.S: 早些时候我发现了一个函数将 Gregorian 转换
我是一名优秀的程序员,十分优秀!