如何在离子日期时间中设置最小和最大时间
How to set minimum and max times in an ion-datetime
我正在使用离子 DateTime 组件在我的页面中选择时间。但我必须只允许用户从 06:30 上午到 07:30 下午 select 次。如何限制 ion-datetime
中的最小-最大时间
我已经试过直接给组件赋最小值了。
<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 小时 Formate)和 displayValue(12 小时 Formate)。跟你的逻辑差不多。
Homepage.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>
Homepage.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'];
结果
演示 Link:
请试试这个
html代码
<ion-datetime displayFormat="hh:mm a" [min]="minTime" [max]="maxTime"></ion-datetime>
ts 代码
minTime = '06:30';
maxTime = '07:30';
我尝试了这种方法,在破解 6-7 天后破解了我的错误。在我的例子中,我必须在结帐时将 getMinimum 值作为最短时间传递。所以用户在check-in时间之前应该不能check-out。
.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 日期时间格式作为其值”。 Link: ion-datetime: Ionic API 日期时间格式选择器的输入
“必须准确显示此处显示的组件,并带有准确的标点符号”Link:https://ionicframework.com/docs/api/datetime?_gl=1*1lg7t6u*_ga*MTk3MzQ4NzM5Ny4xNjQxODg2ODQy*_ga_REH9TJF6KF*MTY1MDMyNDM1MS4xMTIuMS4xNjUwMzI2NjU0LjA。
“必须准确显示此处显示的组件,并带有准确的标点符号”Link:https://www.w3.org/TR/NOTE-datetime
我正在使用离子 DateTime 组件在我的页面中选择时间。但我必须只允许用户从 06:30 上午到 07:30 下午 select 次。如何限制 ion-datetime
中的最小-最大时间我已经试过直接给组件赋最小值了。
<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 小时 Formate)和 displayValue(12 小时 Formate)。跟你的逻辑差不多。
Homepage.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>
Homepage.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'];
结果
演示 Link:
请试试这个
html代码
<ion-datetime displayFormat="hh:mm a" [min]="minTime" [max]="maxTime"></ion-datetime>
ts 代码
minTime = '06:30';
maxTime = '07:30';
我尝试了这种方法,在破解 6-7 天后破解了我的错误。在我的例子中,我必须在结帐时将 getMinimum 值作为最短时间传递。所以用户在check-in时间之前应该不能check-out。
.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 日期时间格式作为其值”。 Link: ion-datetime: Ionic API 日期时间格式选择器的输入
“必须准确显示此处显示的组件,并带有准确的标点符号”Link:https://ionicframework.com/docs/api/datetime?_gl=1*1lg7t6u*_ga*MTk3MzQ4NzM5Ny4xNjQxODg2ODQy*_ga_REH9TJF6KF*MTY1MDMyNDM1MS4xMTIuMS4xNjUwMzI2NjU0LjA。
“必须准确显示此处显示的组件,并带有准确的标点符号”Link:https://www.w3.org/TR/NOTE-datetime