C# 在不使用.ToString的情况下更改日期时间格式
如何将其转换为:C# 在不使用.ToString的情况下更改日期时间格式,c#,datetime,C#,Datetime,如何将其转换为: 2-1-2013 0:00:00 为此: 2/1/2013 12:00:00 AM Ingredients: Eggs, Saccharine, Flour 不转换为字符串?或者转换为字符串,但最终结果应该是DateTimeDateTime结构没有格式含义,当您要在某处显示/输出日期时间时,格式变得很重要。因此,您可以使用DateTime.ToString()重载来指定需要输出的excat格式。在我看来,请求没有多大意义,因为格式是数据的一种表示方式,在这种情况下,数据是
2-1-2013 0:00:00
为此:
2/1/2013 12:00:00 AM
Ingredients: Eggs, Saccharine, Flour
不转换为字符串?或者转换为字符串,但最终结果应该是
DateTime
DateTime
结构没有格式含义,当您要在某处显示/输出日期时间时,格式变得很重要。因此,您可以使用DateTime.ToString()
重载来指定需要输出的excat格式。在我看来,请求没有多大意义,因为格式是数据的一种表示方式,在这种情况下,数据是通过字符串表示的。您可以将DateTime
存储到对象中,但可以以不同的方式显示它
如果您对在
Watch
窗口中查看持谨慎态度,请记住它使用简单的DateTime.ToString(..)
和应用程序的默认区域性。正如Jon已经提到的那样,DataTime
没有固有的格式,它只有一个值。字符串有一个格式。因此,您需要DateTime.ToString
或String.Format
来获得所需的结果:
var dt = DateTime.Parse("2-1-2013 0:00:00");
string result = dt.ToString("MM/dd/yyyy h:mm tt", CultureInfo.InvariantCulture);
请注意,我已使用
ToString
传递CultureInfo.InvariantCulture
,以确保即使在默认情况下不使用AM/PM指示符的文化中(如德国),我也能获得所需的AM/PM指示符。让我通过问另一个问题来回答您的问题:
如何转换此蛋糕:
Ingredients = Eggs, Sugar, Flour
为此:
2/1/2013 12:00:00 AM
Ingredients: Eggs, Saccharine, Flour
答案是:它们甚至不是蛋糕。它们只是蛋糕的文本表示,其配料的文本表示是鸡蛋
,糖/糖精
和面粉
。因此,除非首先获得文本表示,否则不能更改蛋糕的文本表示
还有你的第二个问题:一旦我们有了这个蛋糕的文本表示,就没有办法把它变成一个实际的蛋糕。A
DateTime
没有格式。目前这个问题毫无意义。您提供的是一对字符串。这没有意义。如果不使用字符串,您就无法更改日期时间的字符串表示形式。您是否试图获得2013年2月1日0:00:00的日期时间?+1,用于在德国编写关于CultureInfo
:)@SonerGönül的每个答案的,我很惊讶大多数问题甚至许多答案都忘记了这一事实,提到这个国家只是举个例子。