我正在使用带有TextMode时间的ASP文本框:
<asp:TextBox TextMode="Time" ID="time_box" runat="server">
当我在浏览器中运行代码时,我可以以12小时格式输入时间。 但是当我单击提交按钮时,数据库中的值将以24小时格式存储。
我还尝试做一个JavaScript“警报”,看看时间是否在12小时内,但我仍然可以在24小时内获得该值。
那么,如何在数据库中以12小时格式保存时间?
我正在使用:
time_box.Text
time_box.TextWithLiterals //or should I use this?
或者我是否需要在后端C#代码中将时间转换为12小时?
答案 0 :(得分:2)
在数据库中存储date,time,double,...值时,没有format
的概念。例如,SQL Server中的date
始终存储为数值,这使得算术和比较更加简单和快速。但是,例如,当在SSMS中向您显示此值时,您不会看到原始数字,而是看到人类可读的字符串,如17-12-2014。
format
通常存在于显示/解析表示中需要人类可读的某些值的概念中。
从数据库加载值并且它是TimeSpan
数据类型时,请使用此代码以12小时格式显示该值:
time_box.Text = new DateTime(timeValue.Ticks).ToString("hh:mm tt")
如果加载的值为DateTime
类型,则使用以下代码:
time_box.Text = timeValue.ToString("hh:mm tt")