如何以毫秒精度C#来获取当前时间

问题描述

| 我使用
System.DateTime.Now
,但它返回的值类似于
5/28/2011 1:45:58 AM
。(没有Milli秒精度) 我想在数据库中以毫秒为单位保存当前时间(或日期时间)。 更新:对不起,我的意思是Milli Second     

解决方法

        
System.DateTime
将精度控制到毫秒,
5/28/2011 1:45:58 AM
就是将其格式化为字符串的方式。 要使用毫秒格式进行格式化,请使用格式字符串::4ѭ     ,        如果要将其存储在SQL Server数据库中,ADO.Net会自动将CLR“ 2”数据类型转换为SQL Server“ 6”数据类型(反之亦然)。 CLR
System.DateTime
具有100纳秒的精度(例如,每个刻度为100纳秒;每毫秒10,000个刻度,每秒1千万个刻度。 SQL Server日期时间数据类型精确到(大约)3毫秒。 您不必担心它:ADO.Net将为您处理它。 OTOH,如果您真的想丢掉额外的纳秒,那么应该这样做:
public static DateTime ToExactMillisecondPrecision( DateTime dt )
{
  const long TICKS_PER_MILLISECOND = 10000 ;
  long       totalMilliseconds     = dt.Ticks / TICKS_PER_MILLISECOND ;

  return new DateTime( totalMilliseconds * TICKS_PER_MILLISECOND ) ;
}
我自己根本看不到需求。     ,        在此链接的属性列表下查找。所有不同的选项都在那里。 http://msdn.microsoft.com/zh-CN/library/system.datetime.aspx 包括秒,毫秒和滴答声     ,        您发布的字符串包含秒数,因此我想您不是在要求秒精度,而是要求更精确的时间。 返回的ѭ9value的精度超过毫秒。只是使用默认格式,不会显示毫秒。要以毫秒为单位显示值,可以使用“ 10”标准格式字符串,也可以编写自己的自定义格式字符串,其中包括毫秒格式说明符“ 11”。 请注意,仅仅因为返回的值是精确的,并不意味着它就那么精确。实际精度没有精确定义,但往往在几十毫秒内。     ,        不必将日期转换为字符串。也许真正的问题是您使用动态SQL。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...