2017-04-18 42 views
1
@foreach (DataRow row in TabData.Tables[0].Rows) 
{ 
    @Html.Raw(Helper.FormatData.(row["DATE"].ToString().Trim(),null,true))} 

我得到的结果是03/07/2015 12:00 am 我喜欢得到的是2015/03/07年月日或月日年如果第一个选项是不可能的。 谢谢如何从日期在C#中删除的时间循环

下面是完整的代码

@foreach (DataRow row in TabData.Tables[0].Rows){      
    string newDate = ""; 
    if(TabData.Tables[0].Rows.Count >0) 
    {       
     if(row["SAVEDATE"].ToString().Trim() != "3/1/2017 12:00:00 AM") 
     { 
      newDate = ((DateTime)row["SAVEDATE"]).ToString("d"); 
     } 
     else 
     { 
      newDate=" Proposed 7/1/2017"; 
     } 
    } 
<tr> 
    @Html.Raw(Helper.FormatData(DateTime.Parse(newDate.ToString()).ToString("yyyy/MM/dd").Trim(),null,true)) </tr>} 

所以该值是“2017年3月1日上午12点00分○○秒”我想显示拟批准日期行。但是对于我想要获取日期的所有其他值。不是时间。

回答

2

使用DateTime小号overload for ToString

DateTime date = DateTime.Now; 
var stringDate = date.ToString("yyyy/MM/dd"); 

更改为:

@foreach (DataRow row in TabData.Tables[0].Rows) 
{ 
    @Html.Raw(DateTime.Parse(row["DATE"]).ToString("yyyy/MM/dd")); 

我认为,如果你想保持"Proposed 7/1/2017"文本,然后解析日期为正确的字符串格式已经在if语句中,然后使用它:

@foreach (DataRow row in TabData.Tables[0].Rows){      
    string newDate = ""; 
    if(TabData.Tables[0].Rows.Count >0) 
    {       
     newDate = (row["SAVEDATE"].ToString().Trim() != "3/1/2017 12:00:00 AM") ? 
      ((DateTime)row["SAVEDATE"]).ToString("yyyy/MM/dd") : 
      " Proposed 7/1/2017"; 
    } 
<tr> 
    @Html.Raw(newDate) </tr> 
} 
+0

哪里会我再补充一点代码即时通讯新编码抱歉:-( – john

+0

可以添加的完整代码,请。我仍然得到过载错误 – john

+0

我确实得到了与Wizard91代码相同的错误(该字符串未被识别为有效的DateTime。有一个未知的单词从索引1开始) – john

0

既然你使用剃须刀,你可以做到以下几点:

@Html.Raw(row["Date"].ToShortDateString()) 
@Html.Raw(row["Data"].ToString("MM/dd/yyyy"); 

另一种方法,将实际上装点你的模型在[DisplayFormat(DataFormatString="{0:dd/MM/yyyy}")]

0

是的,这是可能的,你只需要使用ToString方法与时间格式参数重载:

@foreach (DataRow row in TabData.Tables[0].Rows) 
{ 
    DateTime result; 
    @Html.Raw(Helper.FormatData(DateTime.TryParse(row["DATE"].ToString(), out result) ? result.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture) : row["DATE"].ToString().Trim(),null,true)) 
} 
+0

我确实使用过,但我得到以下错误 – john

+0

'string.ToString(System.IFormatProvider)'的最佳重载方法匹配有一些无效参数 – john

+0

我的差距,错过了你需要先解析日期。我已经更新了代码。 – Wizard91