本期内容
本期将对前端、后端、数据库等的日期操作方法,集中整合于本帖,便于记录和查阅。
目录
2、在 Vue 中 Date 类型转换成 String(2020-5-18更)
1、MySQL 获取日期数据中的月份(2020-5-17更)
1、Java 中计算两个日期相差的天数(2020-5-18更)
前端
1、使用 JS 判断是否为周末(2020-5-17更)
//是否在星期六和星期天
function weekTime() {
var dateParams = new Date();
if (dateParams.getDay() == 0 || dateParams.getDay() == 6) {
//0--sunday, 6--saturday
return false;
} else {
return true;
}
}
2、在 Vue 中 Date 类型转换成 String(2020-5-18更)
问题描述
当字段为 Date 类型时,前端有几种不同的展示方式,较为常见的有如 时间戳(如:1381419600)、标准时间格式(如:2017-02-28T16:00:00.000+0000)和我们熟悉且可读性较高的 “ 年-月-日 ” 格式(如:2020-01-01)。当数据库中存储的为前两种日期格式时,我们需要将其转换成 “ 年-月-日 ” 来 增加我们的可读性。
// ------- 安装 moment.js ---------
npm install moment
// ------- 调用 ---------
var moment = require('moment');
moment().format();
// ----- 实际应用 -----
timestampToTime (dateParams) {
var moment = require('moment')
return moment(dateParams).format('YYYY-MM-DD HH:mm:ss')
}
timestampToTime(dateParams)
MySQL 数据库
1、MySQL 获取日期数据中的月份(2020-5-17更)
需求描述
现有数据 “ 2020-01-01 ”,需要提取出该数据所处的月份为 “ 1 月份 ” 的信息
// 获取当前日期月份
select month(now()) // =>5(当前为5月)
// 获取当前日期的上一个月份
select month(now())-1 // => 4
// 获取日期字段中的月份,dateParams 为表中日期类型的字段,形如:2020-01-01
select month(dateParams) from [table]
// 查询出当月的记录 => 将字段中的月份提取出来,与当前的月份进行比对
select * from [table] where month(Now())=month(dateParams)
Java
1、Java 中计算两个日期相差的天数(2020-5-18更)
需求描述
场景中对于需要计算两个日期相差天数,并进一步进行逻辑判断。
思路描述
将日期转化为用毫秒来代替,两者相减之后,再转化成天数。
// 设置日期格式
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
// 获取时间
Date dateParams = df.parse(borrowId.getDate());//获取的时间
// 将时间转换为毫秒
long nowSecond = new Date().getTime();
long oldSecond = dateParams.getTime();
// 时间相减
long second = nowSecond-birthdaySecond;
//将时间进行格式转换,转换成日
System.out.println(second/1000/60/60/24 + "天"); // 输出 => XXX 天