2009-09-28 75 views
0

我需要在数据库中的BIGINT字段中添加当前日期时间...,然后从只显示日期格式为:10月1日,2009年如何添加当前日期时间BIGINT场

我正在考虑将值存储在字符串变量中,然后将其转换为int ... String s = DateTime.Now.ToString();

我不知道下一步该怎么做.. 请帮助

回答

4

你可以只保存蜱为您BIGINT值的数量。蜱表示接受一个长的自1月1日起经过的毫秒1/10,000的数量,0001

DateTime.Now.Ticks; 

这总是可以通过使用构造被转换回为DateTime:

DateTime storedTime = new DateTime(ticksFromDatabase); 

要格式化您的日期,只需使用任何标准date format strings即可。一个自定义的格式字符串实际上可能工作得更好,我只是仔细阅读了它们,它看起来并不像你想要的格式那样内置一个字符串。这应该工作:

date1.ToString("MMMM d, yyyy", CultureInfo.CreateSpecificCulture("en-US")) 
+0

我将它存储为 long s = DateTime.Now.Ticks; 但我使用SQL数据源在GridView中显示它。 我应该在选择查询中写什么...... ??? “我的SQL查询是...” “SELECT MachineGroups.MachineGroupID,MachineGroups.MachineGroupName,MachineGroups.MachineGroupDesc,MachineGroups.TimeAdded,MachineGroups.CanBeDeleted,COUNT(Machines.MachineName)AS'PC的数量'FROM MACHINEGroups FULL OUTER JOIN Machines ON Machines.MachineGroupID = MachineGroups.MachineGroupID GROUP BY MachineGroups.MachineGroupID,MachineGroups.MachineGroupName,MachineGroups.MachineGroupDesc,MachineGroups.TimeAdded – user175084 2009-09-28 02:54:38

+0

您需要挂钩RowDataBound事件并重新格式化日期。是否有任何理由不能使用一个SQL日期时间列?这将是最容易做的事情,因为你可以使用SQL select语句格式化它,并很容易地将它转移到C#中的DateTime对象。 – womp 2009-09-28 03:04:46

+0

没有我不能使用datetime因为整个公司代码是在bigint .. :( 我知道它本来对我来说太容易了。 但我严重没有得到如何使用select语句在gridview中显示日期... 请帮助我的人... – user175084 2009-09-28 04:12:57

1

我会使用智能日期键,因为它更容易发现,使用SQL:

20090927235000 
yyyyMMddhhmmss 

这样,如果你想找到任何发生在一个给定的一天,你可以这样做:

select * from tbl where datecol between 20090927000000 and 20090927240000 

从而使数据验证很多容易,即使您使用的是ORM。

相关问题