如何保持“yyyy-mm-dd hh:mm:ss.fff”在sql的datetime数据类型格式? [英] How to keep "yyyy-mm-dd hh:mm:ss.fff" in datetime datatype format for sql ?

查看:288
本文介绍了如何保持“yyyy-mm-dd hh:mm:ss.fff”在sql的datetime数据类型格式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





我的代码如下:

(C#,SQL)



DateTime tempdate = DateTime.Now;

string dt = tempdate.ToString(yyyy-MM-dd HH:mm:ss.fff);



[现在dt的值如:2014-09-05 10:52:30.000]



drDomain.CREATED_DATE =转换.ToDateTime(dt);



//这里CREATED_DATE是一个日期时间可变,再次转换为05/09/2014 10:52:30 am,但我需要保持2014-09-05 10:52:30.000格式的价值。但它是在字符串可变的。如何保持yyyy-MM-dd HH:mm:ss.fff格式的值并将其转换为日期时间可变类型:



注意:我是不使用存储过程;



预先感谢



我尝试过:



DateTime tempdate = DateTime.Now;

string dt = tempdate.ToString(yyyy-MM-dd HH:mm: ss.fff);



[现在dt的值如:2014-09-05 10:52:30.000]



drDomain.CREATED_DATE = Convert.ToDateTime(dt);



I have the code like:
(C#,SQL)

DateTime tempdate = DateTime.Now;
string dt = tempdate.ToString("yyyy-MM-dd HH:mm:ss.fff");

[now dt have the value like:2014-09-05 10:52:30.000]

drDomain.CREATED_DATE = Convert.ToDateTime(dt);

//here "CREATED_DATE" is a datetime varaible, again its converting into 05/09/2014 10:52:30 a.m format, but I need to keep value in "2014-09-05 10:52:30.000" format. but it was in string varaible. How to keep the value in the "yyyy-MM-dd HH:mm:ss.fff" format and convert this to datetime varaible type:

Note: I am not using stored procedures;

thanks in Advance

What I have tried:

DateTime tempdate = DateTime.Now;
string dt = tempdate.ToString("yyyy-MM-dd HH:mm:ss.fff");

[now dt have the value like:2014-09-05 10:52:30.000]

drDomain.CREATED_DATE = Convert.ToDateTime(dt);

推荐答案

不要。

DateTime对象 - 在C#和SQL中 - 就是这样,它们指定了一个时间点,并且自定义的日期和时间以来存储为毫秒数。它们不包括的是任何格式信息,时区信息或除基准时刻以来的n毫秒以外的任何其他信息。



其他所有内容都是演示功能并且以后保存该信息的唯一方法是将其存储为字符串 - 这是一个非常非常糟糕的想法,因为它既阻止您进行任何简单的数学运算或与之进行比较,也阻止您将其显示在用户的首选格式。



始终将其存储为DateTime,并尽可能晚地将其转换为可呈现日期。
Don't.
DateTime objects - in C# and SQL - are just that, they specify a "point in time" and are stored as a number of milliseconds since a defined date and time. What they don't include is any formatting information, timezone info, or anything else other than "n milliseconds since the base moment".

Everything else is a presentation function, and the only way to preserve that information "for later" is to store it as a string - which is a very, very poor idea as it both prevents you from doing any simple math or comparisons with it, and prevents you showing it in the user's preferred format.

Always store it as a DateTime, and convert it to a "presentable" date as late as possible.


这篇关于如何保持“yyyy-mm-dd hh:mm:ss.fff”在sql的datetime数据类型格式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆