如果你使用数据库记录用户登录时间的话,可以直接使用SQLserver得到时间之差,函数DATEDIFF就返回跨两个指定日期的日期和时间边界数。
语法
DATEDIFF
(
datepart
,
startdate
,
enddate
)
参数
datepart
是规定了应在日期的哪一部分计算差额的参数。下表列出了
Microsoft®
SQL
Server™
识别的日期部分和缩写。
日期部分
缩写
year
yy,
yyyy
quarter
qq,
q
Month
mm,
m
dayofyear
dy,
y
Day
dd,
d
Week
wk,
ww
Hour
hh
minute
mi,
n
second
ss,
s
millisecond
ms
首先说明两点:
1、javasqlDate是继承了javautilDate。
2、javautilDate可以在任意情况下使用,javasqlDate只针对SQL语句使用并且只包含日期而没有时间部分。
javasqlDate不好用,所以根本没必要使用javasqlDate,直接用javautilDate就行,一样可以跟数据库字段关联起来。
获取系统时间的三种方式:
1、new javautilDate()
2、CalendargetInstance()getTime()
3、直接在写sql的时候用now(),例如insert into t_user(id, name, createTime) values ('xx', 'xxx', now())
需要利用C语言的时间函数time和localtime,具体说明如下:
一、函数接口介绍:
1、time函数。
形式为time_t time (time_t __timer);
其中time_t为timeh定义的结构体,一般为长整型。
这个函数会获取当前时间,并返回。 如果参数__timer非空,会存储相同值到__timer指向的内存中。
time函数返回的为unix时间戳,即从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
由于是秒作为单位的,所以这并不是习惯上的时间,要转为习惯上的年月日时间形式就需要另外一个函数了。
2、localtime函数。
形式为struct tm localtime (const time_t __timer);
其中tm为一个结构体,包含了年月日时分秒等信息。
这种结构是适合用来输出的。
二、参考代码:
#include <stdioh>#include <timeh>
int main ()
{
time_t t;
struct tm lt;
time (&t);//获取Unix时间戳。
lt = localtime (&t);//转为时间结构。
printf ( "%d/%d/%d %d:%d:%d\n",lt->tm_year+1900, lt->tm_mon, lt->tm_mday, lt->tm_hour, lt->tm_min, lt->tm_sec);//输出结果
return 0;
}
注意事项:
struct tm中的tm_year 值为实际年减去1900, 所以输出的时候要是lt->tm_year+1900。
以上就是关于在jsp中得到系统时间转换为sqlserver2000 datetime类型全部的内容,包括:在jsp中得到系统时间转换为sqlserver2000 datetime类型、请问如何获取sql.date的系统时间、如何用C语言获取当前系统时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)