C# 关于DateTime类型 精确到毫秒 admin 2023-08-29 16:51:01 篇首语:本文由小编为大家整理,主要介绍了C# 关于DateTime类型 精确到毫秒相关的知识,希望对你有一定的参考价值。 数据库为datetime类型(要求精确到毫秒),程序里用DateTime类型,我只知道DateTime.Now,但是他只能精确到秒,有没有可以精确到毫秒的方法。最终的需求就是DateTime dt=?,给DateTime类型赋值,精确到毫秒。 datetime包含毫秒,要格式化输出,用fffDateTime t = DateTime.Now;Console.WriteLine(t.ToString("yyyy-MM-dd hh:mm:ss fff"));注:mysql里面的datetime类型的精确度是可以到1/ 10 ^ 6 秒的,某些客户端(如navicat for mysql)的显示经常只能看到精确到秒,其实是设计表的时候的配置问题。扩展资料:mysql中DateTime和TimestampDateTime1、8个字节储存(8 bytes storage)2、实际格式储存(Just stores what you have stored and retrieves the same thing which you have stored.)3、与时区无关(It has nothing to deal with the TIMEZONE and Conversion.)4、存储的时间范围为:"1000-01-01 00:00:00.000000" 到 "9999-12-31 23:59:59.999999"Timestamp1、4个字节储存(Time stamp value is stored in 4 bytes)2、值以UTC格式保存( it stores the number of milliseconds)3、时区转化 ,存储时对当前的时区进行转换,检索时再转换回当前的时区。4、存储的时间范围为:"1970-01-01 00:00:01.000000" 到 "2038-01-19 03:14:07.999999" 参考技术A 看下边代码帮你解答:System.DataTIme.Now.ToString();System.DataTime.Now.ToString("yyyy-MM-dd hh:mm:ss fff");这个可以使你获取的时间为2011-7-18 15:05:32 956 后面的956就是当前秒的毫秒。扩展资料:C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。[1] C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。参考资料来源:百度百科:C# 参考技术B DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");如果数据库要求的格式是2017-07-31 18:25:17.557,毫秒是点,就需要使用上面的示例! 参考技术C datetime包含毫秒,要格式化输出,用fff DateTime t = DateTime.Now; Console.WriteLine(t.ToString("yyyy-MM-dd hh:mm:ss fff")); 参考技术D DateTime(3/6)或者Timestamp(3/6)DateTime.Now直接对应保存就行了,主要是数据库字段的设置MySQL存储毫秒数据的方法 参考技术A 有相当一部分刚接触到MySQL的朋友都遇到这样一个相同的问题,就是关于毫秒的存储与显示。由于MySQL数据类型中只提供了DATETIME,TIMESTAMP,TIME,DATE,YEAR这几种时间类型,而且DATETIME以及TIMESTAMP的最小单位是秒,没有存储毫秒级别的函数。不过MySQL却能识别时间中的毫秒部分。而且我们有多种方式可以获得毫秒的部分,比如函数:microsecond等。我这里举一个简单的例子,来存储秒之前和之后的部分。对于把时间字段作为主键的应用,我们可以建立以下的表来作相应的转化:mysql>createtablemysql_microsecond(log_time_prefixtimestampnotnulldefault0,log_time_suffixmediumintnotnulldefault0)engineinnnodb;QueryOK,0rowsaffected,2warnings(0.00sec)mysql>altertablemysql_microsecondaddprimarykey(log_time_prefix,log_time_suffix);QueryOK,0rowsaffected(0.01sec)Records:0Duplicates:0Warnings:0mysql>set@a=convert(concat(now(),".222009"),datetime);QueryOK,0rowsaffected(0.00sec)mysql>insertintomysql_microsecondselectdate_format(@a,"%Y-%m-%d%H-%i-%s"),date_format(@a,"%f");QueryOK,1rowaffected(0.00sec)Records:1Duplicates:0Warnings:0mysql>select*frommysql_microsecond;+---------------------+-----------------+|log_time_prefix|log_time_suffix|+---------------------+-----------------+|2009-08-1117:47:02|222009|+---------------------+-----------------+1rowinset(0.00sec)或者是用VARCHAR来存储所有的时间字段,又或者是存储一个HASH来保证性能!方法很多,就看你的应用怎么用合理了。 以上是关于C# 关于DateTime类型 精确到毫秒的主要内容,如果未能解决你的问题,请参考以下文章 CentOS使用sftp命令进行主机间文件传输 Cmake中的条件判断if/elseif/else 您可能还会对下面的文章感兴趣: 相关文章 浏览器打不开网址提示“ERR_CONNECTION_TIMED_OUT”错误代码的解决方法 如何安装ocx控件 VMware的虚拟机为啥ip地址老是自动变化 vbyone和EDP区别 linux/debian到底怎么重启和关机 苹果平板键盘被弄到上方去了,如何调回正常? 机器学习常用距离度量 如何查看kindle型号