C# .NET将日期时间转换为可排序的日期/时间模式(“s”);
我正在使用VS2008、.NET和C#,我需要向我们的一个客户发送一个DATETIME变量 问题是他们希望日期的格式为可排序的日期/时间模式(“s”) 当我得到实际的datetime时,它是一个datetime对象。当我将它格式化为给定格式时,它现在是一个字符串对象,并且它具有我想要的格式。但是在那之后,我不能用相同的格式从格式化字符串创建Datetime对象,因为它总是返回原始的Datetime格式 更具体地说:C# .NET将日期时间转换为可排序的日期/时间模式(“s”);,c#,.net,datetime,format,C#,.net,Datetime,Format,我正在使用VS2008、.NET和C#,我需要向我们的一个客户发送一个DATETIME变量 问题是他们希望日期的格式为可排序的日期/时间模式(“s”) 当我得到实际的datetime时,它是一个datetime对象。当我将它格式化为给定格式时,它现在是一个字符串对象,并且它具有我想要的格式。但是在那之后,我不能用相同的格式从格式化字符串创建Datetime对象,因为它总是返回原始的Datetime格式 更具体地说: DateTime currTime = System.DateTime.Now;
DateTime currTime = System.DateTime.Now; //(the format is "13/08/2010 09:33:57 a.m.")
String date = String.Format("{0:s}", currTime);// (wanted format "2010-08-13T09:33:57")
DateTime newDate = DateTime.Parse(date);// (original format again "13/08/2010 09:33:57 a.m.")
IFormatProvider culture = new System.Globalization.CultureInfo("", true); //(Invariant Culture)
String format = "s";
DateTime fecha = DateTime.ParseExact(date, format, culture); // (original format again "13/08/2010 09:33:57 a.m.")
是否有方法获取具有所需格式的Datetime对象,或者Datetime对象使用给定格式,而您不能将其格式化为等效的字符串格式
ThxA
DateTime
只是一个数字。它没有内在的“格式”。仅当转换为字符串时,才会将其呈现为格式。因此,当您需要一个日期时间作为字符串时,您必须指定您想要它的格式
String date = String.Format("{0:s}", currTime);
这可能会稍微短路到:
String date = currTime.ToString("s");
每次在需要转换为字符串的位置使用
DateTime
值时(例如在string.Format()
中),C#通常会调用.ToString()
方法。DateTime
类型声明了一个.ToString()
方法,该方法具有您不想要的格式
但是,DateTime
还有其他方法,包括.ToString(IFormatProvider)
和.ToString(字符串格式)
因此,如果将相关类似字符串的上下文中的DateTime
变量的每次使用都替换为调用相应的.ToString
重载的变量,则可能可以实现所需的功能,例如:
而不是
var message = string.Format("The parcel was sent on {0}.", currTime);
使用
var message = string.Format("The parcel was sent on {0}.", currTime.ToString("s"));
如果我对这个问题理解正确,我想你会感到困惑。
DateTime
对象本身是不可格式化的,它本质上只是一个数值(自DateTime.MinValue
以来的刻度数或其他数值)
您可以将
DateTime
对象转换为string
表示形式,格式可以任意,但您不会更改实际的DateTime
对象。请下载者解释一下这个答案有什么问题吗?我不知道,从我这里取一个+1来抵消它。Hmmm。。我打了两次DataTime
??看看在执行以下语法字符串date=currTime.ToString(“s”)后,当我没有Intellisense时会发生什么;输出将为2014-01-29T11:25:29现在您可以将此dateTime格式保存到dateTime类型的变量中吗?