在java中用mysql在数据库中读取一个日期,但是读出来之后有时分秒,我如何只截取他的年月日,在什么时候截

在java中用mysql在数据库中读取一个日期,但是读出来之后有时分秒,我如何只截取他的年月日,在什么时候截,第1张

两种方式,一个是在数据库查询的时候就截取,另一个就是在使用的时候截取。

1.数据库

select date_format(日期字段,’%Y-%m-%d’) as ‘日期’ from test

2.java程序

SimpleDateFormat dateFm = new SimpleDateFormat("yyyy-MM-dd")

String dateTime = dateFm.format(new java.util.Date())

如果你直接就想要这样的格式不需要其他的格式那么就数据库的时候就格式化,如果还需要其他的不同形式的时间格式那么就是用程序中处理的方式

你没有说你用的是什么语言,我用的是c#,就c#说一下; string time=DateTime.Parse("你从数据库里读出来的时间").ToString("yyyy-MM-dd")

MySql计算两个日期时间的差函数

第一种:TIMESTAMPDIFF函数,需要传入三个参数,第一个是比较的类型,可以比较FRAC_SECOND、SECOND、 MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR几种类型,第二个和第三个参数是待比较的两个时间,比较是后一个时间减前一个时间,具体用法如下:

[sql] view plain copy

SELECT TIMESTAMPDIFF(DAY,'2012-10-01','2013-01-13')

返回结果是104,这里比较的是两个时间的天数差;

[sql] view plain copy

SELECT TIMESTAMPDIFF(MONTH,'2012-10-01','2013-01-13')

这里比较的是两个时间的月份,返回的结果是3;

第二种方法: DATEDIFF函数,就传入两个日期函数,比较的DAY天数,第一个参数减去第二个参数的天数值,具体用法如下:

[sql] view plain copy

SELECT DATEDIFF('2013-01-13','2012-10-01')

返回的结果也是104。

另外其它的日期函数,

now()函数返回的是当前时间的年月日时分秒,如:2008-12-29 16:25:46

CURDATE()函数返回的是年月日信息: 如:2008-12-29

CURTIME()函数返回的是当前时间的时分秒信息,如:16:25:46

另外,如果我们想对一个包含年月日时分秒日期格式化成年月日日期,可以使用DATE(time)函数,如

DATE(now()) 返回的是 2008-12-29


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7181338.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存