Saya baru-baru ini menghadapi masalah semasa membuat projek, iaitu masa mula dan masa tamat adalah berkaitan Julat pemilihan masa tamat ialah masa mula minimum dan masa maksimum 90 hari selepas masa mula gunakan di sini Ia adalah tarikh yang diperolehi oleh pemalam layui Terdapat dua parameter min dan maks yang masing-masing boleh menetapkan julat tarikh;
Tetapi bagaimana untuk mendapatkan nilai maks dan min, saya menghadapi kesukaran Selepas penyelidikan berulang pada dokumen rasmi Layui dan percubaan berulang, saya akhirnya menyelesaikan masalah ini dan berkongsi dengan anda:layui.use('laydate', function(){ var laydate = layui.laydate; //限定可选日期 var ins22 = laydate.render({ elem: '#test-limit1' ,min: '2016-10-14' ,max: '2080-10-14' }); });
b Tetapkan semula maks dan min mengikut masa yang dipilih sekarang
var now = new Date(); var min = now.getFullYear() + "-" + (now.getMonth() + 1) + "-" + (now.getDate() + 1); var max = now.getFullYear() + "-" + (now.getMonth() + 2) + "-" + (now.getDate() + 2);
dan , anda mesti terlebih dahulu memahami unit penukaran masa Idea umum ialah unit penukaran asas adalah berdasarkan jam, dan 1 jam ialah 3600 saat Kerana cap waktu dalam laui dikira dalam milisaat perlu berdasarkan 3600. Darab dengan 1000, satu hari ialah 24 jam, dan terdapat 90 hari kesemuanya, jadi .
Selepas memilih masa mula, nilai dalam nilai dalam max
ialah masa yang dipilih pada masa ini Tukar nilai ini kepada Cap masa ialah: min
90*24*3600*1000
done: function (value, date)
var date1 = new Date(value).getTime();
Kemudian tukarkan masa yang diperolehi kepada tahun, bulan. dan hari:
var date2 = date1 90 * 24 * 3600 * 1000;
Nilai yang diperolehi ditetapkan kepada nilai minimum dan maksimum masa akhir:
var date5 = { 'date': date3.getDate(), 'month': date3.getMonth() + 1, 'year': date3.getFullYear() };
end.config.max = date5; end.config.max.month = date5.month - 1; end.config.min = date; end.config.min.month = date.month - 1;
var start = laydate.render({ elem: '#bx_start', type: 'date', max: max, min: min, showBottom: false, btns: ['clear', 'confirm'], done: function (value, date) { var date1 = new Date(value).getTime();//将当前选择的时间转化为时间戳 var date2 = date1 + 90 * 24 * 3600 * 1000;//获取90天后的时间 var date3 = new Date(date2); var date5 = { 'date': date3.getDate(), 'month': date3.getMonth() + 1, 'year': date3.getFullYear() }; end.config.max = date5; end.config.max.month = date5.month - 1; end.config.min = date; end.config.min.month = date.month - 1; } });
Berikut ialah kod lengkap
var end = laydate.render({ elem: '#bx_end', type: 'date', max: max, min: min, showBottom: false, done: function (value, date) { if ($.trim(value) == '') { var curDate = new Date(); date = { 'date': curDate.getDate(), 'month': curDate.getMonth() + 1, 'year': curDate.getFullYear() }; } start.config.max = date; start.config.max.month = date.month - 1; } });
Artikel berkaitan yang disyorkan: "TP5.1 ialah Tambah fungsi tera air pada gambar
》《<script> layui.use(['form','layedit', 'laydate','layer','element'], function() { $ = layui.jquery; layer = layui.layer; var form = layui.form; layedit = layui.layedit; laydate = layui.laydate; //定义变量当前时间、最小时间、最大时间 var now = new Date(); var min = now.getFullYear() + "-" + (now.getMonth() + 1) + "-" + (now.getDate() + 1); var max = now.getFullYear() + "-" + (now.getMonth() + 2) + "-" + (now.getDate() + 2); var start = laydate.render({ elem: '#bx_start', type: 'date', max: max, min: min, showBottom: false, btns: ['clear', 'confirm'], done: function (value, date) { var date1 = new Date(value).getTime();//将当前选择的时间转化为时间戳 var date2 = date1 + 90 * 24 * 3600 * 1000;//获取90天后的 var date3 = new Date(date2); var date5 = { &#39;date&#39;: date3.getDate(), &#39;month&#39;: date3.getMonth() + 1, &#39;year&#39;: date3.getFullYear() }; end.config.max = date5; end.config.max.month = date5.month - 1; end.config.min = date; end.config.min.month = date.month - 1; } }); var end = laydate.render({ elem: &#39;#bx_end&#39;, type: &#39;date&#39;, max: max, min: min, showBottom: false, done: function (value, date) { if ($.trim(value) == &#39;&#39;) { var curDate = new Date(); date = { &#39;date&#39;: curDate.getDate(), &#39;month&#39;: curDate.getMonth() + 1, &#39;year&#39;: curDate.getFullYear() }; } start.config.max = date; start.config.max.month = date.month - 1; } }); }); </script>
》《The 10 tutorial video thinkphp terkini》
Atas ialah kandungan terperinci Kaedah penetapan julat masa TP5.1 layui. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!