aam*_*aan 1 c#-4.0 asp.net-mvc-3
我想以这种格式格式化日期时间值("yyyy/MM/dd")
下面是代码,m用来这样做
DateTime? date = DateTime.Now;
DateTime? formattedDate = Convert.ToDateTime(date.Value.ToString("yyyy/MM/dd"));
Console.WriteLine(formattedDate);
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)
代码工作正常,但你可以在上面的代码中看到我已声明datetime变量为null,反过来导致问题
请在上面的代码中建议我做错了什么.
因为我得到了这个输出 9/10/2012 12:00:00 AM
谢谢,阿曼
问题是你调用formattedDate
的实际上是DateTime的另一个实例.原生.NET DateTime结构中没有格式概念.只有在将其转换为字符串时才能谈论格式:
DateTime date = DateTime.Now;
string formattedDate = date.ToString("yyyy/MM/dd"));
Console.WriteLine(formattedDate);
Run Code Online (Sandbox Code Playgroud)
或者如果你想使用可以为空的DateTime:
DateTime? date = DateTime.Now;
string formattedDate = date.Value.ToString("yyyy/MM/dd"));
Console.WriteLine(formattedDate);
Run Code Online (Sandbox Code Playgroud)
但是,由于您的问题已被标记asp.net-mvc-3
,因此还有其他格式化值的方法.例如,使用[DisplayFormat]
视图模型上的属性:
[DisplayFormat(DataFormatString = "{0:yyyy/MM/dd}", ApplyFormatInEditMode = true)]
public DateTime? Date { get; set; }
Run Code Online (Sandbox Code Playgroud)
并在您的视图中,如果要显示视图模型的值:
@Html.DisplayFor(x => x.Date)
Run Code Online (Sandbox Code Playgroud)
或者如果要生成具有正确格式化值的输入字段:
@Html.EditorFor(x => x.Date)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4033 次 |
最近记录: |