我有一个变量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);
答案 0 :(得分:1)
考虑openDate
是String类型,我会这样做
var dt = DateTime.Parse(openDate).ToString("MM/dd/yyyy");
答案 1 :(得分:1)
从代码中可以清楚地看出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);
答案 2 :(得分:0)
您需要先将日期转换为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);
答案 3 :(得分:0)
您可以使用以下格式设置日期时间格式 如果是日期时间:
OpenDate = OpenDate.ToString("yyyy-mm-dd");
如果数据类型不是datetime,并且您确定格式始终是那样,那么您始终可以将字符串转义为datetime并使用上述方法。
Convert.ToDateTime(openDate).ToString("yyyy-mm-dd");
答案 4 :(得分:0)
答案很棒,特别是如果您想控制“时间”部分的格式。以下是获取您所需内容的最简单方法:
var dt = Convert.ToDateTime("2012-03-08 00:00:04");
Console.WriteLine(dt.ToLongTimeString());
Console.WriteLine(dt.TimeOfDay);
输出:
答案 5 :(得分:-1)
使用以下内容 - openDate = openDate.Date