【发布时间】:2022-04-19 08:33:39
【问题描述】:
我正在使用离子 DateTime 组件在我的页面中选择时间。但我必须只允许用户选择从上午 06:30 到下午 7:30 的时间。如何限制 ion-datetime 中的 min-max 时间
我已经尝试过直接给组件赋予最小值。
<ion-datetime displayFormat="hh:mm a" min="minDate"></ion-datetime>
【问题讨论】:
我正在使用离子 DateTime 组件在我的页面中选择时间。但我必须只允许用户选择从上午 06:30 到下午 7:30 的时间。如何限制 ion-datetime 中的 min-max 时间
我已经尝试过直接给组件赋予最小值。
<ion-datetime displayFormat="hh:mm a" min="minDate"></ion-datetime>
【问题讨论】:
您可以将它们指定为道具:
<ion-item>
<ion-label>Date</ion-label>
<ion-datetime displayFormat="MMMM YYYY" min="2016" max="2020-10-31" [(ngModel)]="myDate">
</ion-datetime>
</ion-item>
在Min and Max Datetimes
部分检查离子日期时间docs
【讨论】:
试试这个:
我使用了 pickerFormate(24 小时甲酸盐)和 displayValue(12 小时甲酸盐)。和你的逻辑差不多。
主页.html
<ion-item>
<ion-label>Time</ion-label>
<ion-datetime [hourValues]="hourValues" [min]="minTime" [max]="maxTime" displayFormat="hh:mm A" pickerFormat="HH:mm A" (ionFocus)="changeDate($event)"></ion-datetime>
</ion-item>
主页.ts
myDate: String = new Date().toISOString();
minTime = '06:30';
maxTime = '19:30';
hourValues = ['06','07','08','09','10','11','12','13','14','15','16','17','18','19'];
结果
演示链接:
【讨论】:
请试试这个
html代码
<ion-datetime displayFormat="hh:mm a" [min]="minTime" [max]="maxTime"></ion-datetime>
ts 代码
minTime = '06:30';
maxTime = '07:30';
【讨论】:
我尝试了这种方法,在 6-7 天后破解了我的错误。就我而言,我必须在结帐时将 getMinimum 值作为最短时间传递。所以用户应该不能在入住时间之前退房。
.ts 文件
check_in_value: 2021-12-06T13:15:11.684Z
const a = parseISO(check_in_value);
const b = addHours(new Date(a),5);
this.getMinimum = b.toISOString()
concole.log(this.getMinimum)
HTML 文件
<ion-datetime
displayFormat="YYYY-MM-DD HH:mm"
pickerFormat="YYYY-MM-DD HH:mm"
[value]="check_out"
[min]="getMinimum3"
></ion-datetime>
重要提示:
显示格式在呈现日期和时间方面起着重要作用。仔细阅读文档。 “Ionic Framework 使用 ISO 8601 日期时间格式作为其价值”。链接:ion-datetime:日期时间格式选择器的 Ionic API 输入
“此处显示的组件必须存在,并带有该标点符号”链接:https://ionicframework.com/docs/api/datetime?_gl=1*1lg7t6u*_ga*MTk3MzQ4NzM5Ny4xNjQxODg2ODQy*_ga_REH9TJF6KF*MTY1MDMyNDM1MS4xMTIuMS4xNjUwMzI2NjU0LjA。
“这里显示的组件必须存在,并且带有这个标点符号”链接:https://www.w3.org/TR/NOTE-datetime
【讨论】: