c# - 以 yyyy-MM-dd 格式获取日期 c#

标签 c#

我正在获取 DateTime 格式的日期。 例如2015 年 3 月 26 日上午 12:00:00 我想将其转换为日期时间 (YYYY-MM-DD)。

我的输出应该在 DateTime 中:

DateTime obj = 2015-03-26

我试过了,

string value = "11/12/2009";
IFormatProvider culture = new CultureInfo("en-US", true); 
DateTime dateValue = DateTime.ParseExact(value, "yyyy-MM-dd", culture);

但无济于事。

提前致谢

最佳答案

您似乎认为 DateTime 一种格式。它不会 - 只不过 int 既不是十进制,也不是十六进制,也不是二进制 - 但可以转换为任何这些文本表示形式。

听起来您应该只对传入数据使用 DateTime.Parse(除非您知道预期的确切 格式,在这种情况下请指定),保持尽可能长时间将结果作为 DateTime,然后在需要时将 ToString 与自定义格式字符串一起使用以对其进行格式化。 (不要将其转换为文本,直到您确实需要虽然......尽可能避免转换,因为每个转换都是潜在的错误来源。)

DateTime date = DateTime.Parse(value, culture);
...
// Lots of other code
...
string isoDate = date.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture);

关于c# - 以 yyyy-MM-dd 格式获取日期 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29147071/

相关文章:

c# - 如何将json字符串反序列化为c#dot中的对象列表

c# - 加法的十进制顺序影响结果

c# - 无法以不同用户身份运行 C# 进程

用于解析 WebRequestMethods.Ftp.ListDirectoryDe​​tails FTP 响应的 C# 类

c# - 当命名空间不明确时使用特定的类

c# - MVC 5.2 如何为本地日期时间设置默认值?

c# - 使用 NDepend 查看代码指标的趋势

c# - 是否有理解/记录 c#/vb.net 分解以及如何合并它们的源代码控制系统?

c# - 多线程问题

C# 判断表单是否最大化