我这里有这个小代码:
@foreach (var date in ViewBag.MissingDays)
{
var isoDate = date.ToString("yyMMdd");
<div class="col-md-1">
<input type="checkbox" id="isoDate" name="isoDate" value="@isoDate" />
@isoDate
</div>
}
Run Code Online (Sandbox Code Playgroud)
那将打印出我错过的视图中的所有日期,就像你可以看到它打印出来的像"yymmdd yymmdd yymmdd"等,但很难知道它是什么工作日,所以我想成为"mo yymmdd" tu yymmdd我们yymmdd"所以这是当天的两个首字母,我怎么能实现这个?
您可能希望将部件保持value原样 - 或理想情况下yyyyMMdd,因为两位数的年份格式非常糟糕 - 并且只是以不同方式格式化显示部件.我认为没有什么可以使用两个月的缩写 - 缩写的月份名称在英语文化中通常是三个字母而不是两个.(这取决于文化.我不知道任何使用两个字母的英语文化,但其他一些文化,如德语.)
我实际上建议只使用d 标准日期格式进行显示,或者可能D(长而不是短),因为这将使用适当的文化格式 - 假设当前线程的文化已经适当设置.所以类似于:
@foreach (var date in ViewBag.MissingDays)
{
<div class="col-md-1">
<input type="checkbox" id="isoDate"
name="isoDate"
value="@date.ToString("yyyyMMdd", CultureInfo.InvariantCulture)" />
@date.ToString("D")
</div>
}
Run Code Online (Sandbox Code Playgroud)
(剃刀语法可能稍微偏离 - 希望你能够相应地调整它.)
我知道你已经说出了你想要的格式,但我怀疑你只是在考虑你自己文化中的用户.你知道这种格式是否适合其他文化吗?如果所有用户都保证是英语,那不是一个问题 - 但一般来说你应该避免这样的假设.
| 归档时间: |
|
| 查看次数: |
208 次 |
| 最近记录: |