C# 如何在linq中格式化字符串

C# 如何在linq中格式化字符串,c#,asp.net,linq,C#,Asp.net,Linq,我的时间有点问题。。我想把它格式化,这样它会显示一个更整洁的设计。。有人能帮我做这个吗 这是我的密码: ViewBag.startTime = (from a in test where a.ID == clientCustomerPositionShiftnfo.ID select new{ a.StartTime}) .AsEnumerable() .Select(a => a.StartTime != "Anytime" ? Convert.ToDateTi

我的时间有点问题。。我想把它格式化,这样它会显示一个更整洁的设计。。有人能帮我做这个吗

这是我的密码:

 ViewBag.startTime = 
 (from a in test
  where a.ID == clientCustomerPositionShiftnfo.ID
  select new{ a.StartTime})
  .AsEnumerable()
  .Select(a => a.StartTime != "Anytime"
  ? Convert.ToDateTime(a.StartTime).ToString("HH:mm:ss")
  : a.StartTime.Trim());
我认为:

    <input type="text" id="txtStartTime" name="txtStartTime" class="inputLong"
value="@ViewBag.startTime" disabled="disabled"/>

在查询后尝试呼叫:

ViewBag.startTime = 
    (from a in test
     where a.ID == clientCustomerPositionShiftnfo.ID
     select a.StartTime)
    .AsEnumerable()
    .Select(t => t != "Anytime" ? Convert.ToDateTime(t).ToString("HH:mm:ss") : t)
    .First(); // or FirstOrDefault if your query might not return any results
或者更清楚地说:

var startTime = 
    (from a in test
     where a.ID == clientCustomerPositionShiftnfo.ID
     select a.StartTime)
    .First(); // or FirstOrDefault if your query might not return any results
ViewBag.startTime startTime != "Anytime" 
    ? Convert.ToDateTime(startTime).ToString("HH:mm:ss") 
    : startTime;

为什么选择“新建”,为什么不只是选择属性?在我看来,它不显示时间的值,而是显示如下内容:“System.Linq.Enumerable+WhereSelectEnumerableTerator
2[f_uAnonymousTypeB
1[System.String],System.String]”@tuespetre当我选择属性时,我得到了值,但我无法格式化它。。。我需要一种格式化starttime的方法。如果视图使用JavaScript和浏览器或用户的本地设置格式化日期,则设计会更简洁。