繁体   English   中英

为 SQL 数据库插入构建日期时间对象

[英]Building a Datetime Object for SQL database insert

我正在开发一个小型 Web 表单,它需要用户输入(除其他外)他们添加到系统中的任何服务器的计划备份时间。 问题是,我正在努力寻找获取用户输入并构建 DateTime 对象(这是数据库所需的)的最佳方法。

我只关心星期几,一天中的时间(12 或 24 小时制)。

我想过只创建一个空的 DateTime 对象,然后从用户那里添加我的输入值,但是您只能获取而不是设置星期几、一天中的时间等。

我一直在研究日历 asp 控件,它适用于星期几选择,但我似乎找不到任何一天中的时间支持。

谢谢。

我认为您不想将 DateTime 用于诸如备份之类的重复事件。 DateTime 可用于存储特定日期和时间,但不适用于重复事件的“模板”。 相反,我会使用单独的列来存储事件的星期几值 (0-6) 和日期时间(午夜后的分钟数)。

如果您打算使用 datepicker, 这里是使用 C# 添加 JQuery 日期选择器的一个很好的示例。 如果我对 JQuery 和 java sripts 有任何了解,这有助于我将其包含在我的项目 evrn 中。

DateTime 是不可变的值类型。 你不能在上面设置任何东西。

假设您坚持在数据库上使用 DateTime 并且您不想使用 DateTimePicker 控件。

您必须指定日期时间应如何表示星期几和时间。 您可以从 DateTime.MinValue 开始,即 1.1.0001,午夜 12:00,然后添加星期几和时间。 不幸的是,SqlServer 2005 中的常规 DateTime 字段无法存储此日期。 所以让我们把它移到 2000 年。1.1.2000 是一个星期六。 您可以像这样计算 DateTime:

int dayOfWeek; // 0 = mon, 6 = son
DateTime time;
DateTime scheduleTime = new DateTime(2000, 1, (dayOfWeek + 2) % 6 + 1) 
  + time.TimeOfDay;

但老实说,我不会这样做。 它闻起来臭臭的。 我刚刚回答了你的问题。 听听特凡佛森。 他说了所有需要说的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM