首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将日期转换为节气日期?在.net中

如何将日期转换为节气日期?在.net中
EN

Stack Overflow用户
提问于 2013-12-19 00:43:44
回答 2查看 715关注 0票数 3

我的数据库中有大量的日期,这些日期以如下的12/18/2013格式保存

现在我必须把它改成像这个1392/09/27这样的节气日期。

有什么可以转换的吗?(获取农历日期并将其更改为节气日期)

我需要它在vb.net中

EN

回答 2

Stack Overflow用户

发布于 2013-12-19 00:59:56

.NET中的System.Globalization命名空间承载number of different calendars

您可以通过在一个日历中创建日期,然后从其他日历中获取日、月和年来在这两个日历之间进行转换。

代码语言:javascript
复制
Sub Main()
    Dim gregorianDate = DateTime.Parse("12/18/2013")

    Dim solarCalendar = New PersianCalendar()

    Dim solarDay = solarCalendar.GetDayOfMonth(gregorianDate)
    Dim solarMonth = solarCalendar.GetMonth(gregorianDate)
    Dim solarYear = solarCalendar.GetYear(gregorianDate)

    Console.WriteLine("{0}/{1}/{2}", solarYear, solarMonth, solarDay)
    Console.Read()
End Sub

输出:

1392/9/27

经过一些计算之后,PersianCalendar将返回您正在查找的“太阳”日期。

票数 3
EN

Stack Overflow用户

发布于 2013-12-19 02:12:08

您可以指定在解析日期/时间时要使用的区域性,如下所示:

代码语言:javascript
复制
Dim parsedDateTime As Date = Date.Parse("12/18/2013", CultureInfo.GetCultureInfo("en-US"))

还可以指定在将日期/时间格式化为字符串时要使用的区域性,如下所示:

代码语言:javascript
复制
Dim formatted As String = parsedDateTime.ToString("yyyy/mm/dd", CultureInfo.GetCultureInfo("th"))

因此,您可以通过组合这两个步骤将一种区域性转换为另一种区域性,如下所示:

代码语言:javascript
复制
Public Function ConvertDateStringToCulture(dateString As String, fromCulture As String, toCulture As String) As String
    Dim parsedDateTime As Date = Date.Parse(dateString, CultureInfo.GetCultureInfo(fromCulture))
    Dim formatted As String = parsedDateTime.ToString("yyyy/mm/dd", CultureInfo.GetCultureInfo(toCulture))
    Return formatted
End Function

然后,例如,如果您想要从美国日期转换为泰国日期,您可以这样做:

代码语言:javascript
复制
Dim converted As String = ConvertDateStringToCulture("12/18/2013", "en-US", "th")

但是,您需要选择正确的区域性作为起点和目标。支持的区域性的Here is a list

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20663711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档