【发布时间】:2009-09-28 02:40:06
【问题描述】:
我需要在数据库的 bigint 字段中添加当前日期时间...然后仅显示日期格式:2009 年 10 月 1 日。
我目前正在考虑将值存储在字符串变量中,然后将其转换为 int... 字符串 s = DateTime.Now.ToString();
我不知道下一步该怎么做.. 请帮忙
【问题讨论】:
标签: c# asp.net sql-server database
我需要在数据库的 bigint 字段中添加当前日期时间...然后仅显示日期格式:2009 年 10 月 1 日。
我目前正在考虑将值存储在字符串变量中,然后将其转换为 int... 字符串 s = DateTime.Now.ToString();
我不知道下一步该怎么做.. 请帮忙
【问题讨论】:
标签: c# asp.net sql-server database
您可以将刻度数存储为您的 bigint 值。刻度表示自 0001 年 1 月 1 日以来经过的 1/10,000 毫秒数。
DateTime.Now.Ticks;
始终可以使用接受 long 的构造函数将其转换回 DateTime:
DateTime storedTime = new DateTime(ticksFromDatabase);
要格式化您的日期,只需使用任何标准 date format strings。自定义格式字符串实际上可能效果更好,我只是仔细阅读了它们,它看起来不像您想要的格式内置了一个。这应该有效:
date1.ToString("MMMM d, yyyy", CultureInfo.CreateSpecificCulture("en-US"))
【讨论】:
我会使用智能日期键,因为使用 SQL 更容易找到它:
20090927235000
yyyyMMddhhmmss
这样,如果您想查找某一天发生的任何事情,您可以这样做:
select * from tbl where datecol between 20090927000000 and 20090927240000
从而使数据验证很多更容易,即使您使用的是 ORM。
【讨论】: