按照指定格式将字符串转换为日期时间

8
我希望我的最终结果按照指定格式为日期格式,即YYMMDD,我如何从下面给出的字符串中得到它?
   string s="110326";  

1
请看这里。https://dev59.com/NUXRa4cB1Zd3GeqPvuol - sgtz
3个回答

16

将字符串转换为日期:

DateTime d = DateTime.ParseExact(s, "yyMMdd", CultureInfo.InvariantCulture);

或者反过来:

string s = d.ToString("yyMMdd");

还可以参考这篇文章: 自定义日期和时间格式字符串


ParesExtract 的提供者怎么样? - Vivekh
1
没有为2个参数提供文化信息的重载。 - Manatherin
1
@Vivekh:抱歉,我忘记了ParseExact需要那个参数。我编辑了答案。InvariantCulture的优点是始终提供相同的结果,而不受用户区域设置的影响。如果您希望结果根据用户的地区而有所不同,请改用CultureInfo.CurrentCulture - Sven

5
DateTime dateTime = DateTime.ParseExact(s, "yyMMdd", CultureInfo.InvariantCulture);

尽管我建议
DateTime dateTime;
if (DateTime.TryParseExact(s, "yyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal, out dateTime))
{
    // Process
}
else
{
    // Handle Invalid Date
}

2

要将DateTime转换为某种格式,可以执行以下操作:

 string str = DateTime.Now.ToString("yyMMdd");

要将某个格式的字符串日期转换为DateTime对象,可以执行以下操作:

DateTime dt = DateTime.ParseExact(str, "yyMMdd", null);  //Let str="110719"

我要求将字符串转换为日期时间。 - Vivekh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接