Datetime:
时间格式,对应于数据库中的DateTime类型,对应于NET里面的System
DateTime类型。DateTime支持日期从1753年1月1日到9999年12月31日,时间部分的精确度是333毫秒,它需要8字节的存储空间。
Datetime2:
时间格式,就Sql
Server
2008
里面新增的字段类型。对应于数据库中的DateTime2格式,对应于NET里面的System
DateTime类型。DateTime2则支持从0001年01月01日到9999年12月31日,时间部分的精度是100纳秒,占用6到8字节的存储空间,取决于存储的精度。
datetime2数据类型,类似于之前的datetime类型,不过其精度比较高,可以精确到小数点后面7位(100ns)
数据库字段类型一般为:
int 直接存入时间戳
timestamp 需转成date('Y-m-d H:i:s', time()); 2016-07-20 10:10:10
在数据库中时间格式是采用UTC时间的。2010-1-1、2010-11-1、2010-1-11这些都是正确的,没有任何错误。你添加到数据库中的时候注意打“-”将来在外部应用程序中你想要显示为什么格式,那个你可以自己格式化即可。
1、如果数据库中存储时间的数据类型为datetime,那就避免在后台代码(aspxcs)中转化时间格式,将格式转化的任务放到界面代码(aspx)上。
无论获取的时间是什么格式的,在后台不要对这个时间的值进行任何 *** 作(比如赋值等,否则系统会将时间隐式转换),而是直接在界面代码(aspx)用DataBinder、Eval等方法来直接进行格式化:
后台关键代码:
<span style="white-space:pre"> </span>DataTable dt = new NewsManager()SelectById(newsid); //这里得到的dt为从直接数据库中查询到的数据
<span style="white-space:pre"> </span> repNewsDataSource =dt;
repNewsDataBind();
前台关键代码:
<span style="white-space:pre"> </span><asp:Repeater ID="repNews" runat="server">
<ItemTemplate>
<p class="con_time">
发布时间:
<%# DataBinderEval(ContainerDataItem,"createTime","{0:yyyy-MM-dd HH:mm:ss}") %> <%--此处createTime为上面dt中的字段名--%>
</p>
</ItemTemplate>
</asp:Repeater>
在数据库取出来的时候就转换好
select
getdate()
2006-05-12
11:06:08177
我整理了一下SQL
Server里面可能经常会用到的日期格式转换方法:
举例如下:
select
Convert(varchar(10),getdate(),120)
2006-05-12
select
CONVERT(varchar,
getdate(),
120
)
2006-05-12
11:06:08
select
replace(replace(replace(CONVERT(varchar,
getdate(),
120
),'-',''),'
',''),':','')
20060512110608
select
CONVERT(varchar(12)
,
getdate(),
111
)
2006/05/12
select
CONVERT(varchar(12)
,
getdate(),
112
)
20060512
select
CONVERT(varchar(12)
,
getdate(),
102
)
20060512
其它几种不常用的日期格式转换方法:
select
CONVERT(varchar(12)
,
getdate(),
101
)
0612/2005
select
CONVERT(varchar(12)
,
getdate(),
103
)
12/09/2004
select
CONVERT(varchar(12)
,
getdate(),
104
)
12052006
select
CONVERT(varchar(12)
,
getdate(),
105
)
12-05-2006
select
CONVERT(varchar(12)
,
getdate(),
106
)
12
05
2006
select
CONVERT(varchar(12)
,
getdate(),
107
)
05
12,
2006
select
CONVERT(varchar(12)
,
getdate(),
108
)
11:06:08
select
CONVERT(varchar(12)
,
getdate(),
109
)
0512
2006
1
select
CONVERT(varchar(12)
,
getdate(),
110
)
09-12-2004
select
CONVERT(varchar(12)
,
getdate(),
113
)
12
052006
select
CONVERT(varchar(12)
,
getdate(),
114
)
11:06:08177
datetime类型:可用于需要同时包含日期和时间信息的值。
datetime:MySQL 以 'YYYY-MM-DD HH:mm:ss'格式检索与显示 DATETIME 类型。
DateTime 日期和时间部分,可以表示的日期范围从公元1753年1月1日00:00:00000 到9999年12月31日23:59:59997 ,精确到333毫秒,它需要8个字节的存储空间,其中前4个字节用于存储1900年1月1日以前或以后的天数,数值分正负,正数表示在此日期之后的日期,负数表示在此日期之前的日期;后4个字节用于存储从此日零时起所指定的时间经过的毫秒数。
扩展资料
在MySQL中创建表时,很容易通过类型介绍就能选择到合适自己的数据类型。不过到底是选择 datetime 还是 timestamp,可能会有点犯难。这两个日期时间类型各有优点:datetime 的日期范围比较大;timestamp 所占存储空间比较小,只是 datetime 的一半。
另外,timestamp 类型的列还有个特性:默认情况下,在 insert, update 数据时,timestamp 列会自动以当前时间(CURRENT_TIMESTAMP)填充/更新。“自动”的意思就是,你不去管它,MySQL 会替你去处理。
参考资料来源:百度百科-SQL数据类型
可通过用PL/SQL来改变日期格式。
1、登录PL/SQL。
2、登录后,点击菜单栏,工具—首选项。
3、左侧列表找到“日期/时间”。
4、可通过右侧的各种方式进行自定义的格式和自带的格式来进行修改,修改后点击“确定”按钮保存即可。
以上就是关于数据库存储日期时间数据时,使用数据类型datetime和datetime2有什么区别全部的内容,包括:数据库存储日期时间数据时,使用数据类型datetime和datetime2有什么区别、怎样把时间转为数据库的时间格式、数据库的时间格式不对。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)