Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将日期格式代码转换为日期_C#_Date_Date Formatting - Fatal编程技术网

C# 将日期格式代码转换为日期

C# 将日期格式代码转换为日期,c#,date,date-formatting,C#,Date,Date Formatting,用户应以以下格式输入日期:%m%d%Y 我需要做的是将日期转换为:11 11 2013(即今天的日期)。我不太喜欢约会。是否有某种方法可以进行这种开箱即用的转换?我查看了DateTime选项,但找不到我需要的 编辑: 从收到的答复来看,似乎不太清楚我在问什么 在我们的软件中,用户可以按如下格式插入日期: 我试图解析这个用户输入并返回今天的日期。因此,从上面的链接: %m-月份-“01”至“12” %d-月日,两位数字,前导零-“01”至“31” %Y-年份,4位数字-“1999” 我想知道是否

用户应以以下格式输入日期:
%m%d%Y

我需要做的是将日期转换为:
11 11 2013
(即今天的日期)。我不太喜欢约会。是否有某种方法可以进行这种开箱即用的转换?我查看了DateTime选项,但找不到我需要的

编辑:

从收到的答复来看,似乎不太清楚我在问什么

在我们的软件中,用户可以按如下格式插入日期:

我试图解析这个用户输入并返回今天的日期。因此,从上面的链接:

%m-月份-“01”至“12”

%d-月日,两位数字,前导零-“01”至“31”

%Y-年份,4位数字-“1999”

我想知道是否有一种方法将
%m%d%Y
作为输入,并以指定格式返回相应的今天日期(即
11 2013
today)。或者至少是类似的东西。 希望现在更清楚

编辑2:

在挖掘了一点之后,我发现我所寻找的是C++中的C + STRFETIME。


但由于某些原因,我看不到在C#中实现此功能的示例。

我的日期时间输入和输出go-tos:

用于输入(解析)

用于输出(格式化)

编辑,因为他的编辑使我的上述答案无关紧要(但将留作参考):

根据您所说的,您想以动态定义的格式输出今天的日期吗

所以如果我想看月、日、年,我说“MM dd YY”,你把它还给我

如果是:

DateTime dt = DateTime.Today; // or initialize it as before, with the parsing (but just a regular DateTime dt = DateTime.Parse() or something quite similar)
然后

不过,您的问题仍然不清楚。

使用:


您可以使用
DateTime.TryParseExact
将字符串解析为日期,并使用
DateTime-ToString
将其转换回所需格式的字符串:

DateTime parsedDate;
if (DateTime.TryParseExact("11 11 2013", "MM dd yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out parsedDate))
{ 
    // parsed successfully, parsedDate is initialized
    string result = parsedDate.ToString("MM dd yyyy", System.Globalization.CultureInfo.InvariantCulture);
    Console.Write(result);
}

百分号是什么意思?我有点搞不懂你在找什么。你在解析他们的约会时有困难吗?您的输出有问题吗?输入和输出日期看起来是(或可能是)相同的格式。还是要转换为
dd-MM-yyyy
格式?11月11日并不是展示理想日期格式的好日子……你的问题仍然有点不清楚。您只想以动态确定的格式输出今天的日期吗?请给我们一些输入/输出的伪代码。这对解决你的问题有很大帮助;现在还不清楚您想要什么。String.Format()似乎是您最好的选择。我现在看到了编辑2,但这似乎仍然是你最好的答案。在我发布后意识到了这一点。添加了一些解释;我真是太糟糕了,只发了一个链接。具体来说,看看解析链接!这真的应该是你所需要的。这不是一个链接唯一的答案。答案是这样的:如果你以前真的用谷歌搜索过,你会发现这个。我发现这对新的堆垛工来说很有用,他们可以先学会谷歌。@state:我认为关键是你根本不应该说“查看解析链接”,因为所有必要的信息都应该在你的答案中。链接应该是附加信息(例如如何在其他日期格式上进行链接)或只是源引用。@nabuchdonossor:这也不是答案。答案应包含回答问题所需的信息,而不是查找该信息的方法。链接不好的原因是,如果网站死了,被重组了,等等,那么答案就没用了。
String formatString = "MM dd YY";
String.Format("{0:"+ formatString+"}", dt);
var date = DateTime.ParseExact("9 1 2009", "M d yyyy", CultureInfo.InvariantCulture);
DateTime parsedDate;
if (DateTime.TryParseExact("11 11 2013", "MM dd yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out parsedDate))
{ 
    // parsed successfully, parsedDate is initialized
    string result = parsedDate.ToString("MM dd yyyy", System.Globalization.CultureInfo.InvariantCulture);
    Console.Write(result);
}