时间:2022-1-25 作者:Thinkphp 分类: ThinkPHP
<script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
<script>
// 原理:
// 1. J_endtime 获取到期时间的时间戳
// 2. 将 J_endtime 转化为 datetime-local 格式,并赋值给 J_newtime 显示
// 3. 检测 J_newtime 值是否有改动
// 4. J_newtime 值有改动,则将其 value 转化为时间戳,并赋值给 J_endtime
// 说明:
// newtime.val(getDateTime(endtime));
// newtime.val() 是给 newtime 进行赋值
// 值为 getDateTime(endtime);endtime 是获取的数据库的值;getDateTime 是格式化时间戳为 datatime-local
//这个 getzf 作用是给 1一位数的时间加个前导0,2022-1-26 改成 2022-01-26
var times = $('.J_time');
if (times.length) {
$('.J_endtime').each(function() {
var endtime = $(this).val();
var newtime = $(this).parent().find('.J_newtime');
newtime.val(getDateTime(endtime));
});
}
$('.J_newtime').on('input propertychange', function() {
var newtime = $(this).val().replace('T', ' ').replace(/-/g, '/');
$('.J_endtime').val(Date.parse(newtime) / 1000);
});
// 将时间戳转化为 datetime-local 格式---------getzf(date.getSeconds()秒;
function getDateTime(str) {
var date = new Date(parseInt(str + '000'));
return date.getFullYear() + '-' + getzf(date.getMonth() + 1) + '-' + getzf(date.getDate()) + 'T' + getzf(date.getHours()) + ':' + getzf(date.getMinutes());
}
// 两位数的前导零
function getzf(num) {
if (parseInt(num) < 10) {
num = '0' + num;
}
return num;
}
</script>