从时间和日期删除时间
我有一个变量openDate
其中包含日期和时间,我想剥离日期。我试过下面的例子,它不工作。我做错了什么,或者更确切地说,我应该怎么做,因为变量openDate
即使在试图剥离日期之后也保持不变?的openDate
值是“2012-03-08 00:00:00”从时间和日期删除时间
openDate = ! string.IsNullOrEmpty(node.ChildNodes[f].Attributes["ows_PMO_x0020_Origination_x0020_Date"].Value)
? node.ChildNodes[f].Attributes["ows_PMO_x0020_Origination_x0020_Date"].Value
: "" ;
openDate = String.Format("{0:MM/dd/yyyy}", openDate);
你需要你的约会先将其转换成一个DateTime
对象。如果您的字符串采用不同或自定义格式,请参阅示例here。
openDate = !string.IsNullOrEmpty(node.ChildNodes[f].Attributes["ows_PMO_x0020_Origination_x0020_Date"].Value)? node.ChildNodes[f].Attributes["ows_PMO_x0020_Origination_x0020_Date"].Value: "" ;
//openDate is a string at this point. You'll need to convert it to a datetime object first, for the following line to work:
var dtObject = DateTime.Parse(openDate);
//Format the newly created datetime object
openDate = String.Format("{0:MM/dd/yyyy}", dtObject);
工作......谢谢!!!!!!!! – john
考虑openDate
是String类型的,我会做到这一点
var dt = DateTime.Parse(openDate).ToString("MM/dd/yyyy");
您可以使用格式化的日期时间: 如果它是一个日期时间:
OpenDate = OpenDate.ToString("yyyy-mm-dd");
如果数据类型不是日期时间,并且您确定格式将始终如此,那么您始终可以将字符串转换为日期时间并使用th上述的方法。
Convert.ToDateTime(openDate).ToString("yyyy-mm-dd");
在这种情况下,'openDate'是一个字符串,它在这里不起作用。 – FrankerZ
我已根据您的要求编辑 – Abhinandan
从你的代码很显然,openDate
是字符串类型的,你有价值观,是DateTime
字符串表示,可以申请DateTime
的字符串值格式化。
您有多个选项。
- 转换
string
openDate
为DateTime
值,然后应用格式 - 做一些字符串操作来提取日期部分从您的字符串值。
字符串操作:
string openDate = "2012-03-08 00:00:00";
string formatted = openDate.Substring(0, openDate.IndexOf(' '));
DateTime
解析。
DateTime parsedDateTime = DateTime.Parse(openDate);
string formattedDateTime = parsedDateTime.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture);
或者你也可以用'openDate.ToString( “MM/DD/YYYY”);' –
[如何删除DateTime对象中的C#中的日期时间部分?]可能的重复?(http://*.com/questions/6121271/how-to-remove-time-portion-of-date-in-c- sharp-in-datetime-object-only) –