c# - 如何找到日期字符串的确切格式?

标签 c# string datetime date-format culture

我需要知道字符串 16-Aug-78 12:00:00 AM 的确切日期格式。我尝试过各种字符串,例如“ss-MMM-yy hh:mm:ss”。有什么方法可以将其转换为任何通用格式。我正在使用 CultureInfo.InvariantCulture 类。

最佳答案

您的字符串格式错误。它必须与您的字符串格式完全匹配。您可以改用 dd-MMM-yy hh:mm:ss tt 格式。

这里有一个例子 LINQPad .

string s = "16-Aug-78 12:00:00 AM";
var date = DateTime.ParseExact(s, "dd-MMM-yy hh:mm:ss tt",
                               CultureInfo.InvariantCulture);
date.Dump();

或者,因为 dd-MMM-yy hh:mm:ss ttInvariantCulture 的标准日期和时间格式,您可以直接DateTime.Parse方法如下;

string s = "16-Aug-78 12:00:00 AM";
var date = DateTime.Parse(s, CultureInfo.InvariantCulture);
date.Dump();

这里有一个 demonstration

Is there any way for finding it to converting to any general format?

除非您创建自己的格式,否则无法获取字符串的格式。只有您才能准确知道您的字符串格式是什么,计算机不能。

例如; 01/02/2014 可以是 2014 年 2 月 1 日2014 年 1 月 2 日,具体取决于您可以解析哪种自定义格式。

关于c# - 如何找到日期字符串的确切格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23535476/

相关文章:

asp.net - 关于按用户时区存储和显示日期和时间

c# - 正则表达式删除两个字符串之间的连字符

c# - 来自 NAudio 的原始音频

Java:在大字典中搜索字符串的非常快速的方法

c - 重新分配(): invalid next size when reallocating to make space for strcat on char *

c# - 如何将字符串转换为日期时间

c# - 如何为我的 JWT 创建签名?

c# - 事件订阅者是否按订阅顺序调用?

java - 使用 StringTokenizer 统计单词数和单词中的字符数

ruby-on-rails - 在 Rails 中保留时区