我有一个UIDatePicker,从今天到下一周(从Date()到Date()。day + 7)都可以使用。
假设今天是每月的30号,因此可以选择的日期是本月的30号和下个月的1日至6日。
在这种情况下,随着用户将日期从30更改为1,我需要将datePicker月份更改为下个月。
但是问题是: “当我将日期更改为无效的日期时,.change方法会给我最无效的日期。”
示例:
假设:
今天= 7月28日。
可选日期= 7月28日至8月3日。
我需要什么
用户无法选择7月28日之前和8月3日之后的日期。
当用户要将日期更改为8月1、2或3时,datePicker本身会将月份更改为8月,并使1、2和3可用于 由用户选择。
主要问题
答案 0 :(得分:1)
只需将 <!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
let clicked
$(document).ready(function(){
$('#inpfile').change( function ( ){
console.log(clicked)
var file_data = $('#inpfile').prop('files')[0];
var form_data = new FormData();
form_data.set('inpfile', file_data , file_data.name );
form_data.append( 'clicked', clicked);
$.ajax({
url: "banners-pro-btnplus.php",
type: 'post',
cache: false,
contentType: false,
processData: false,
data: form_data,
success: function(data) {
console.log(data);
}
});
})
})
function bttn_click(){
clicked = 'a';
document.getElementById('inpfile').click();
}
</script>
</head>
<body>
<form>
<input type="file" name="" id="inpfile">
<button onclick="bttn_click()" >Browse</button>
</form>
</body>
</html>
的 maximumDate 属性设置为所需日期。
UIDatePicker
答案 1 :(得分:0)
在viewDidLoad中调用此函数以设置日历以设置最大和最小日期:
fileprivate func setupCalendar() {
datePicker.minimumDate = Calendar.current.date(byAdding: .day, value: 0, to: ServerTime.sharedInstance.nowTime)
datePicker.maximumDate = Calendar.current.date(byAdding: .day, value: +7, to: ServerTime.sharedInstance.nowTime)
}
为了计算显示日期和当前日期之间的天数,我使用了此方法:
extension Date {
//Calculate days between two day objects
func daysBetween(_ date: Date) -> Int {
let calendar = NSCalendar.current
// Replace the hour (time) of both dates with 00:00
let date1 = calendar.startOfDay(for: date)
let date2 = calendar.startOfDay(for: self)
let components = calendar.dateComponents([.day], from: date1, to: date2)
return components.day ?? 0 // This will return the number of day(s) between dates
}
}}
答案 2 :(得分:0)
事实上,不可能在他们选择之前就获得日期。而且根据更改月份之前下个月的几天不可用,我无法使用UIDatePicker进行处理。
所以最后我实现了自定义的UIPickerView。
如@holex所说。
谢谢大家的回答。