问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java实现mysql的to_days函数,要求输出结果一致

发布网友 发布时间:2022-05-02 20:03

我来回答

3个回答

懂视网 时间:2022-05-03 00:25

热心网友 时间:2022-05-02 21:33

mysql的to_days是计算从公元0年到当前日期的时间差,但事实上公元0年是不存在的,所以用java实现的话都有点区别,如果计算两个时间的日差的话,可以用下面的方法

package know;
import java.sql.Date;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class T1 {
public static void main(String[] a) {
System.out.println(getDaysBetween(Date.valueOf("2016-12-01"),
Date.valueOf("2017-02-28")));
}
public static int getDaysBetween(Date start, Date end) {
boolean negative = false;
if (end.before(start)) {
negative = true;
Date temp = start;
start = end;
end = temp;
}
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(start);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
GregorianCalendar calEnd = new GregorianCalendar();
calEnd.setTime(end);
calEnd.set(Calendar.HOUR_OF_DAY, 0);
calEnd.set(Calendar.MINUTE, 0);
calEnd.set(Calendar.SECOND, 0);
calEnd.set(Calendar.MILLISECOND, 0);
if (cal.get(Calendar.YEAR) == calEnd.get(Calendar.YEAR)) {
if (negative)
return (calEnd.get(Calendar.DAY_OF_YEAR) - cal
.get(Calendar.DAY_OF_YEAR)) * -1;
return calEnd.get(Calendar.DAY_OF_YEAR)
- cal.get(Calendar.DAY_OF_YEAR);
}
int counter = 0;
while (calEnd.after(cal)) {
cal.add(Calendar.DAY_OF_YEAR, 1);
counter++;
}
if (negative)
return counter * -1;
return counter;
}
}

热心网友 时间:2022-05-02 22:51

//最简单的办法
//在select TO_DAYS('1970-01-01')的结果是719528

long millis = System.currentTimeMillis();
//今天距1970-01-01的天数
long nowDays = millis  / 1000 / 60 / 60 / 24;
//所以nowDays + 719528 的结果等同于 TO_DAYS(NOW())

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 油炸小馒头第二天怎么加热? dnf那的徽章有什么用 新手表示不会在装备打孔 请教下 光功率器 的读书是以DB还是DBM为准!请详细些谢谢! 这4个选项有两个是对的,哪两个 A.DBS包含了DBMS B.DBS包含了DB C.DB hp1566激光打印机用加什么粉效果好? 功率W怎么换成dB?dBm跟dBc有什么区别?越详细越好! 请问dBm/Hz与dBc/Hz的关系 dBm, dBi, dBd, dB, dBc的区别 关于激光彩色打印机加粉知识 如何把自己的APP做成微信小程序 彩色激光打印机是加粉还是加墨水 有什么视频音频格式转换工具推荐,尤其是针对苹果手机的 新装的UG打不开STP文件, 如何将软件添加到微信小程序 为什么我的UG4.0打不开STP格式文件 怪物猎人崛起开始菜单在哪ns 小羚羊小儿退热贴里面含有麝香吗 东东退热贴贴多长时间 戈乐迪电子管CD机,是那个国家的 教你剥柚子最棒的方法,轻松剥出柚子肉,没有一点白瓤,太实用了 什么是A类股票 大学为什么喜欢种石楠花 ASP.NET 和JAVA,到底学哪个比较好,几乎零基础,哪个就业前景比较好,区别在哪 哪位好心人有从零开始学ASP.NET,或者零基础学习ASP.NET这本书,发到我... 腾讯微博转发多了在转发就无效了为什么? 股票A股和B股是啥意思 电动汽车无线充电为什么没普及? 我在新浪微博转发一条微博转了很多次,然后发不出微博了,提示我同样的内容已经发过了,怎么办 VR眼镜只能在手机上使用么? 97只打新基金大盘点 哪些旗舰产品星级高 如何用ASP.NET制作一个网页,内容是:欢迎你!显示动态时间 石楠树能不能泡茶? 未来的电动汽车有可能做到随时无线充电吗?就是说边驾驶边充电。 石楠花茶是什么 未来电动汽车充电方式是不是主流是无线充电技术? 2020年现排名第一的基金是哪一只? 无线充电的市场趋势与未来状况?请了解的朋友给出帮忙,谢谢了! 新能源汽车前景 如何推导出电流与电阻的倒数成正比? vr眼镜Viv0手机能用吗