SQL数据库中getDate()函数作用是获取系统当前时间。
语法功能
功 能: GETDATE() 函数从 SQL Server 返回当前的时间和日期。
列:SELECT GETDATE() AS CurrentDateTime
扩展资料:
函数名: getdate
功 能: 取DOS日期
用 法: void getdate(struct dateblk);
程序例:
#include<stdioh>
#include <dosh>
int main(void)
{
struct date d;
getdate(&d);
printf("The current year is: %d\n",
dda_year);
printf("The current day is: %d\n",
dda_day);
printf("The current month is: %d\n",
dda_mon);
return 0;
}
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数据类型
首先在定义一个方法public static Date getAfterData(Date date, int count) {Date d = null;d = new Date(dategetTime() + count 24 60 60 1000L);return d;}然后在你的Service代码里, *** 作那个产品实体,比如叫Product,它的有效日期叫 effectiveData那么,增加30天的代码可以写成:
JDBC环境下
如果使用的是PreparedStatement接口:
1String sql = "insert into 表名(date类型的列) values()";
2PreparedStatement stmt = conprepareStatement(sql);
3stmtsetDate(1, date对象);
4stmtexecuteUpdate();
如果使用的是Statement接口:
1javatextSimpleDateFormat fmt1 = new javatextSimpleDateFormat("yyyy-MM-dd"); // mssql、mysql格式
2javatextSimpleDateFormat fmt2 = new javatextSimpleDateFormat("dd-MM月-yyyy"); // oracle格式
3String sql = Stringformat("insert into 表名(date类型的列) values('%s')", fmt1format(date对象));
4Statement stmt = concreateStatement();
5stmtexecuteUpdate(sql);
1:SystemcurrentTimeMillis() 返回long类型 可以强制转换成Date格式
2:SimpleDateFormatformat()返回的是 String类型,可以得到我上述的时间格式,但是是String类型。
3:SimpleDateFormatparse()返回的是Date类型,该方法试图按照给定的SimpleDateFormat 对象的格式化存储来解析字符串,试过后发现,解析后的值是“格林威治时间格式“,即我当初设想的思路应该不能实现,转而改变策略,以任意格式把时间变成Date格式插入数据库中,提取的时候再做变换即可。
4:查询中发现javautilDate 和 javasqlDate存在一些区别,utildate用Date date = new Date(),util可以活动值,sql包必须给参数。
在数据库取出来的时候就转换好
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
显示的格式:年-月-日小时:分钟:秒
相关时间参数:
a-"am"或是"pm"
A-"AM"或是"PM"
d-几日,二位数字,若不足二位则前面补零;如:"01"至"31"
D-星期几,三个英文字母;如:"Fri"
F-月份,英文全名;如:"January"
h-12小时制的小时;如:"01"至"12"
H-24小时制的小时;如:"00"至"23"
g-12小时制的小时,不足二位不补零;如:"1"至12"
G-24小时制的小时,不足二位不补零;如:"0"至"23"
i-分钟;如:"00"至"59"
j-几日,二位数字,若不足二位不补零;如:"1"至"31"
l-星期几,英文全名;如:"Friday"
m-月份,二位数字,若不足二位则在前面补零;如:"01"至"12"
n-月份,二位数字,若不足二位则不补零;如:"1"至"12"
M-月份,三个英文字母;如:"Jan"
s-秒;如:"00"至"59"
S-字尾加英文序数,二个英文字母;如:"th","nd"
t-指定月份的天数;如:"28"至"31"
U-总秒数
w-数字型的星期几,如:"0"(星期日)至"6"(星期六)
Y-年,四位数字;如:"1999"
y-年,二位数字;如:"99"
z-一年中的第几天;如:"0"至"365"
可以自由设定显示的内容,连接符号或是显示位置,例如date("m-dH")或者date("dmY");>等
php中的日期处理
加入时间:2004-12-1817:35:22大小:12KB阅读次数:1405
PHP中的日期处理
转贴:xiaxia日期:2004-05-26人气:9
我正打算用PHP编写一种帮助处理系统。我发现我必须知道处理完最后一位客户的问题后已经过去了多长时间?当我过去用ASP时解决这个问题相当简单,ASP有相应的函数DateDiff可以给出两个日期间间隔多少月、多少天和多少秒。当我搜寻完PHP手册后我发现PHP并没有类似的函数。
本文包含以下内容:
1、得到目前的日期和时间-我们有多少种方式
2、改变日期显示的方式-日期和时间的显示形式
3、转换现在的日期为Unix的时间戳值
4、改变日期
a增加时间
b减去时间
c找出两日期之间的间隔
5、为PHP添加DateAdd函数
6、为PHP添加DateDiff函数
得到目前的日期和时间
在Unix中,时间的表示方式为计算从1970年1月1日零时起所过去的秒数,这称为UNIX时间戳(UnixEpoch)。
如果我们有这样一段的代码:
echotime();
将返回值958905820
而此时的时间为2000年5月21日12时43分。
你也许会说这相当不错。当这对我毫无帮助,或者只有一点帮助。在PHP中,对日期处理的函数都必须用到由time()返回的时间戳值。同时,由于PHP在Unix和Windows系统中均使用同样的时间戳值,这就允许你不需要修改代码即可在不同的系统间移植。另外的一个好处是time()函数返回的是一个整数,你可以将其作为整数字段或文本字段存入数据库,而不必使用特别的日期/时间字段。
你已经基本了解了Unix的时间戳值,现在让我们来展示它的实际用途。
改变日期显示的方式-日期和时间的显示形式
PHP提供两个办法来将Unix的时间戳值转换成为有用的数据。第一个是date()函数。这个函数有两个参数-第一个字符串用于设定你所希望返回的格式,第二个为Unix的时间戳值。
格式化字符串通过一些简单的特殊格式化字符来显示你所希望看到的格式的日期和时间。假设你希望日期以这样的格式显示“18h01Sunday21May”。
我们需要对字符串中的每一部分使用一个特殊格式化字符,你可以从PHP手册中日期和时间函数库中找到。这样的特殊格式化字符数量不少,他们所表示的类似于星期几、月的英文名、用2位或4位数表示的年份,是否是上午(AM)或下午(PM)以及其他。对于这个例子我们需要的特殊字符为:
‘H’-24小时制的小时
‘i’-分钟
‘l’-星期几的英文全名
‘d’-本月的第几日
‘F’-月份的英文全名
因此我们的格式化字符串为”HhildF”,PHP代码为:
echodate("HhildF",time());
当我们执行这段代码,我们发现我们所得到的结果为:
180609Sunday21May
这样的结果看起来有些奇怪。让我们再查一下PHP手册,原来’h’所代表的是12小时制的小时数。这再次证明了一句真理:“计算机只做你所告诉它该做的,而不是你想要它做的”。我们有两个选择。第一个是在h前使用转义字符“”:
echodate("HhildF",time());
我们得到这样的结果:
18h12Sunday21May
这正是我们所要的。但如果我们在一个十分复杂的句子中需要包含日期和时间,我们是否需要对每个字符使用转义字符
答案当然是不。我们使用另一个函数strftime()。
strftime()有两个好处。第一个好处我们并不在本文讨论范围内-如果你使用setlocale()函数,你可以通过strftime得到相应语言的月份的名称。另外的一个好处是你可以将特别的日期和时间的格式化字符包含在你的字符串中。这同时也意味着无论你是否要学习date()函数的所有特殊格式化字符,你都必须学习一整套完全不同的格式化字符。
strftime()工作的方式和date()没有什么不同,除了特殊格式化字符的前面必须添加一个百分号%。如果用strftime()函数,前面例子的代码如下:
echostrftime("%Hh%M%A%d%b",time());
结果为:
18h24Sunday21May
这也许看起来将简化繁,但考虑一下如果你所需要的显示的为"TodayisSunday21May2000Thetimeissomewherecloseto18h24"我想使用date()函数无疑令人感到厌烦。
在开始的时候,我提及我们有两种方式可以从Unix时间戳值中得到有用的数据。我们刚刚了解了date()和strftime()。另一个getdate()。这个函数只需要Unix的时间戳值作为参数,而函数的返回值为日期和时间的数组
两种办法。
SQL中对比,直接使用getdate()就可以获取数据库服务器的当前时间。
获取数据库系统时间字符串: select CONVERT(varchar, getdate(), 120 )
格式是“yyyy-MM-dd HH:mm:ss”
就可以在代码中转换成日期格式进行对比
以上就是关于SQL数据库中getDate()函数全部的内容,包括:SQL数据库中getDate()函数、数据库datetime是什么类型、数据库中日期是DATE类型,怎么去增加一个int型的天数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)