指点成金-最美分享吧

登录

C# 关于DateTime类型 精确到毫秒

佚名 举报

篇首语:本文由小编为大家整理,主要介绍了C# 关于DateTime类型 精确到毫秒相关的知识,希望对你有一定的参考价值。

数据库为datetime类型(要求精确到毫秒),程序里用DateTime类型,我只知道DateTime.Now,但是他只能精确到秒,有没有可以精确到毫秒的方法。最终的需求就是DateTime dt=?,给DateTime类型赋值,精确到毫秒。

datetime包含毫秒,要格式化输出,用fff

DateTime t = DateTime.Now;

Console.WriteLine(t.ToString("yyyy-MM-dd hh:mm:ss fff"));

注:mysql里面的datetime类型的精确度是可以到1/ 10 ^ 6 秒的,某些客户端(如navicat for mysql)的显示经常只能看到精确到秒,其实是设计表的时候的配置问题。

扩展资料:

mysql中DateTime和Timestamp

DateTime

1、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"

Timestamp

1、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>
create
table
mysql_microsecond
(
log_time_prefix
timestamp
not
null
default
0,
log_time_suffix
mediumint
not
null
default
0)
engine
innnodb;
Query
OK,
0
rows
affected,
2
warnings
(0.00
sec)
mysql>
alter
table
mysql_microsecond
add
primary
key
(log_time_prefix,
log_time_suffix);
Query
OK,
0
rows
affected
(0.01
sec)
Records:
0
Duplicates:
0
Warnings:
0
mysql>
set
@a
=
convert(concat(now(),".222009"),datetime);
Query
OK,
0
rows
affected
(0.00
sec)
mysql>
insert
into
mysql_microsecond
select
date_format(@a,"%Y-%m-%d
%H-%i-%s"),date_format(@a,"%f");
Query
OK,
1
row
affected
(0.00
sec)
Records:
1
Duplicates:
0
Warnings:
0
mysql>
select
*
from
mysql_microsecond;
+---------------------+-----------------+
|
log_time_prefix
|
log_time_suffix
|
+---------------------+-----------------+
|
2009-08-11
17:47:02
|
222009
|
+---------------------+-----------------+
1
row
in
set
(0.00
sec)
或者是用VARCHAR来存储所有的时间字段,
又或者是存储一个HASH来保证性能!
方法很多,就看你的应用怎么用合理了。

以上是关于C# 关于DateTime类型 精确到毫秒的主要内容,如果未能解决你的问题,请参考以下文章