所以我想弄清楚如何“正确地”将我从日期范围选择器中获取的日期分开。
我已经设法将它们分成开始值和结束值,但我需要更多然后可能使用某种正则表达式将日期分隔为 D/M/Y,因为我有 3 个变量我需要稍后填写我需要对年份进行计算,而一个值对此很糟糕。好奇是否有人对此有任何想法
输出:
1/1/2021 || 1/8/2021
<mat-form-field appearance="fill">
<mat-label>Enter a date range</mat-label>
<mat-date-range-input [formGroup]="range" [rangePicker]="picker">
<input style="position: relative;" #Startz matStartDate formControlName="start" placeholder="Start date">
<input style="position: relative;" #Endz matEndDate formControlName="end" placeholder="End date">
</mat-date-range-input>
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-date-range-picker #picker></mat-date-range-picker>
<mat-error *ngIf="range.controls.start.hasError('matStartDateInvalid')">Invalid start date</mat-error>
<mat-error *ngIf="range.controls.end.hasError('matEndDateInvalid')">Invalid end date</mat-error>
</mat-form-field>
<div class="">
<input type="text" class="" placeholder="info" #info required>
</div>
<button style="margin-right:10px;" type="button" class="btn googleBtn" value="Log In" (click)="createEntry(Startz.value, Endz.value, info.value)">Create Entry</button>
createEntry(startDate, endDate, info: string){
alert(startDate + endDate);
}
export class Entry {
id: string;
surname: string;
color: string;
startDate: Startdate;
endDate: Enddate;
info: string;
status: boolean;
}
export class Startdate{
day: number;
month: number;
year: number;
}
export class Enddate{
day: number;
month: number;
year: number;
}
这是我到目前为止所做的,但肯定应该有更好的解决方案:
var value = startDate;
var day = value.substring(0,1);
var month = value.substring(2,3);
var year = value.substring(4,8);
var str = "{Day:" + day + ",month:" + month + ",year:" + year + "}";
alert(str);
这种方式的问题在于,一旦你以两位数的天数/月数结束,它就会中断
答案 0 :(得分:0)
解决方案:
var startValue = startDate.split("/");
var startDay = startValue[0];
var startMonth = startValue[1];
var startYear = startValue[2];
var endValue = endDate.split("/");
var endDay = endValue[0];
var endMonth = endValue[1];
var endYear = endValue[2];
感谢来自打字稿社区 Discord 的一位非常友好的人!
我希望这对未来的其他人有所帮助