
Date数据类型:用来存储没有时间的日期。Mysql获取和显示这个类型的格式为“YYYY-MM-DD”。支持的时间范围为“1000-00-00”到“9999-12-31”。
Datetime类型:存储既有日期又有时间的数据。存储和显示的格式为 “YYYY-MM-DD HH:MM:SS”。支持的时间范围是“1000-00-00 00:00:00”到“9999-12-31 23:59:59”。
Timestamp类型:也是存储既有日期又有时间的数据。存储和显示的格式跟Datetime一样。支持的时间范围是“1970-01-01 00:00:01”到“2038-01-19 03:14:07”。
所有不符合上面所述格式的数据都会被转换为相应类型的0值。(0000-00-00或者0000-00-00 00:00:00)方法一:通过函数to_char实现时间格式的转换
SQL> select sysdate from dual;
SYSDATE
------------
17-JUN-15
SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
TO_CHAR(SYSDATE,'YYYY-MM-DDHH24:MI:SS'
--------------------------------------
2015-06-17 14:08:21
方法二:更改会话参数
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
方法二:更改参数文件
可以在 initora 中加上一行
nls_date_format='yyyy-mm-dd hh24:mi:ss'
或者
alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss’ scope=spfile;首先,你进数据库查看下,你的时间格式是怎么样的,如果数据库内的时间类别中不包含时分秒。
那你怎么弄,显示出来的都只会是00:00:00,反之,如果数据内有时分秒,那显示出来就简单了。代码如下:
'你的目的是,日期用“/”分开,时分称用":"分开;以下代码,你可以任意自己替换分开的符号。
'假设你的数据库时间值为 date_SFM
<%=YEAR(date_SFM)&"/"&Month(date_SFM)&"/"&Day(date_SFM)&"/"&Hour(date_SFM)&":"&Minute(date_SFM)&":"&Second(date_SFM)%>
首先,你字段就不应该设置成datetime类型
字段类型设置成varchar(14)才可以
给你举个例子
建表,里边带默认值,也就是你描述的那样的默认值
create table test(id int,
time varchar(14) default replace(replace(replace(convert(varchar,getdate(),120),'-',''),' ',''),':',''))
插入数据
insert into test (id) values (1)检查结果
Select CONVERT(varchar(100), GETDATE(), 20) 2017-01-24 09:07:47
根据最后的参数不同,可以变成各种格式,我这里的是“20”这个形式。
如果你要单独取年 select year(getdate()) =2017
取月 month(getdate()) =1
取日 day(getdate()) =24
你要取星期几 select datepart(weekday,getdate()) 周一到周日是2,3,4,5,6,7,11、SimpleDateFormat sdf = new SimpleDateFormat();
Systemoutprintln(sdfformat(date));
这样子就能得到本地的系统时间格式了。
2、获取时间使用TimzonegetDefault()即可。
3、这个POSTGRESQL我不知道,你再百度百度吧……如果百度不到的话,可以用一个枚举的方式,做一个小的适配器存到数据库里面去也行。首先把从数据库里取出的数据对应成java的Date数据类型。
例如:
Date date = usergetCreateDate();//得到数据库的时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String s = sdfformat(date);
再将时间输出到前台显示。
yyyy-MM-dd对应的日期是:2015-09-25
含时间的:
十二小时制 :yyyy-MM-dd hh:mm:ss
二十四小时制:yyyy-MM-dd HH:mm:ss1、如果数据库中存储时间的数据类型为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>
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)