c# - 来自字符串帮助的日期。我可以转换成我想要的字符串,但我无法转换回来

标签 c# asp.net string datetime datetime-format

我有一个字符串需要转换回日期。我可以调用 .ToString("yyyyMMdd") 并获取我想要的字符串。我的问题是如何将其转换回日期?我正在尝试类似以下的操作,但没有成功。

DateTime d;
var formatInfo = new DateTimeFormatInfo {ShortDatePattern = "yyyyMMdd"};
if (DateTime.TryParse(details.DetectionTime.Date, formatInfo, DateTimeStyles.None, out d))
{
   lit.Text = d.ToShortTimeString(); //would like 07/30/2010 as the text
}

我之前从未使用过 DateTimeFormatInfo 如果这不是很明显的话。有人能指出我正确的方向吗?我知道我可能会使用 substring 并创建一个新的 DateTime(y, m, d) 等...我只是想知道,因为 c# 正确解释了 .ToString() ,如果它不能从同一个字符串中派生日期它输出。

最佳答案

DateTime.ToString("yyyyMMdd") 的逆向是 DateTime.TryParseExact,将 "yyyyMMdd" 作为格式字符串传递。

IFormatProvider 有点转移注意力。您通常会通过:

  • Thread.CurrentThread.Culture,如果你正在解析用户输入的日期,你应该在什么时候服从用户的日期偏好
  • CultureInfo.InvariantCulture,如果您要解析程序提供的日期,此时您的行为不应取决于用户设置的偏好

关于c# - 来自字符串帮助的日期。我可以转换成我想要的字符串,但我无法转换回来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3374294/

相关文章:

java - 如何在 Java 中比较字符串?

c - 使用特定的多字节定界符标记字符串

c# - 属性要求用户登录而不是拒绝访问?

c# - flickr oauth 签名无效错误

c# - 在单个 View 中添加多个,ASP.NET MVC

asp.net - 从请求中获取所有发布数据

c# - 来自程序集的 WPF 自定义 FontFamily?

c# - 带有 Azure Functions 的 DocumentDB

asp.net - 从 App_Code 文件夹中的类访问 App_Data 中的文件

java - 找不到字符串