我正在开发一个应用程序,用户可以在其中安排日期,时间和事件。 我想知道是否有任何可能的方式我可以用hh:mm:ss AM / PM格式存储时间而不是24小时。
问题定义:从PHP-MSSQL
(Windows)Web服务迁移到PHP-MYSQL
(Linux)
Back End是在y2k
之前编写的,它是一个旧程序,作为一个单独的平台,在我之前,开发人员在网上移植了这个程序,但没有移植DMS(数据库管理系统又称数据实用程序)参赛人员)我不确定这背后的原因。
输入数据的旧程序,用于登录Windows服务器的数据输入人员启动应用程序并输入数据。
迁移后我们不再使用旧的DMS程序,因此我必须编写新的DMS程序。
我问过几个关于从mssql迁移到mysql的问题,然后才能看到https://stackoverflow.com/questions/22603868/converting-porting-mssql-table-to-mysql-table
我面临的最大问题是数据输入人员希望他们的dms就像之前不到一英寸或更少(不能责怪他们)。
老dms视图 新的dms
添加日期的前端视图:
mssql db结构
mysql db结构
答案 0 :(得分:2)
您可能正在寻找DATE_FORMAT(date,format)
%r Time, 12-hour (hh:mm:ss followed by AM or PM)
答案 1 :(得分:2)
您应该将数据库中的日期和时间存储为Date,Time或DateTime数据类型(取决于数据库提供程序支持的类型(MySql reference))。切勿将它们存储为字符串。
用户输入值的方式应根据机器上的文化设置确定:
dateTimePicker1.Format = DateTimePickerFormat.Custom
dateTimePicker1.CustomFormat = Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern
如果他们喜欢12h格式,他们只需在控制面板中设置
您可以像这样获得输入值:
Dim ts As TimeSpan = New TimeSpan(DateTimePicker1.Value.Hour, DateTimePicker1.Value.Minute, DateTimePicker1.Value.Second)
在数据库中存储日期和时间而不是字符串会让您在阅读它们时更轻松,因为您可以按照您希望的任何方式格式化日期或时间。
然后,您可以在应用程序中使用相同的代码,以在用户首选文化中显示该日期或时间。 (Formatting Date and Time for a Specific Culture)
它还允许您对字符串上不可能(或至少非常低效)的实际日期或时间执行查询
答案 2 :(得分:0)
.ToString("HH:mm")
解决了我所有的问题。