public static void main(String[] args) throws Exception {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
int yearNow = cal.get(Calendar.YEAR);// 年
cal.setTime(formatter.parse(birthday));
int birthyear=cal.get(Calendar.YEAR);
while(birthyearyearNow){
cal.set(Calendar.YEAR,cal.get(Calendar.YEAR)◆1);
birthyear=cal.get(Calendar.YEAR);
}
Date ed=new Date();
Date sd=cal.getTime();
long days=0;
System.out.println("距离你生日还有" ◆ days ◆ "天");
}else{
sd=cal.getTime();
以前使用mysql不是很多,对mysql的函数也不是很熟悉,遇到这个问题第一时间百度搜索,搜索到这两种方法,这两种方法是排在百度第一条的博客.
看了这篇贴子后,我就晕了,怎么会这么复杂,以前用Sql Server很简单就可以了.我坚信一定有简单高效的方法.很快就找到了根据以上方法改良后的方法.
改良后的方法一,少了一个函数和一个运算符,当日期为未来日期时计算结果还是为0;
然后自己根据MYSQL的帮助文档中的日期函数想到了第三种方法:
然后,很快在国外网站找到了第四种方法:
这种方法只用了两个函数就搞定了,应该是最佳方法了.
这样计算出的年龄离实际的周岁最接近了,但可能方法四是最符合年龄定义的了.
在MySQL数据库操作中,我们常常编写一些SQL语句来实现自己想要的功能.但是对于初学MySQL数据库的人来说这似乎又有一定的难度.本文我们总结了六条比较有用的SQL语句,初学者可以套用下面的格式,此时此刻呢就让粉丝们和小编一起分析一哈这部分内容.
①计算年数
如果您想通过生日来计算这个人的年龄,可以用以下的语句来实现:
SELECT
DATE_FORMAT(FROM_DAYS(TO_DAYS(now())
-
TO_DAYS(@dateofbirth)),
'%Y')
◆
0;
取得两个
datetime
值的差.假设
dt1
和
是
类型,其格式为
'yyyy-mm-dd
hh:mm:ss',那么它们之间所差的秒数为:UNIX_TIMESTAMP(
)
UNIX_TIMESTAMP(
id
FROM
tbl
GROUP
BY
HAVING
COUNT(*)
=
N;
所谓工作日就是除出周六周日和节假日.
calendar
WHERE
d
BETWEEN
Start
AND
Stop
DAYOFWEEK(d)
NOT
holiday=0;
k.column_name
information_schema.table_constraints
t
JOIN
information_schema.key_column_usage
k
USING
(constraint_name,table_schema,table_name)
t.constraint_type='PRIMARY
KEY'
t.table_schema='db'
t.table_name=tbl'
table_schema
AS
'Db
Name',
Round(
Sum(
data_length
index_length
/
Size
(MB)',
data_free
'Free
Space
(MB)'
information_schema.tables
;
关于MySQL数据库的比较有用的SQL语句的介绍就到这里了.
这个题问题一般要提完整,别人才能回答,这里不知道你的表结构就很难给你弄.默认简单的在同一张表给你弄,select * from 表名 where 存储生日日期字段 = 你的生日. 这里存在数据库里的一般会是时间戳,你查询时把你生日转变成时间戳差就可以了