【发布时间】:2021-03-30 02:24:05
【问题描述】:
为了使用 Angular 的 ngx-bootstrap datepicker 日历的禁用天数我在 C# 上有一个控制器
public List<DateTime> DisabledDays(int carId)
{
var disabledDates = new List<DateTime>();
var result = GetAll();
var startResult = _rentalDal.GetAll().Where(x => x.CarId == carId).Select(x => x.RentDate).ToList();
var endResult = _rentalDal.GetAll().Where(x => x.CarId == carId).Select(x => x.ReturnDate).ToList();
for (int i = 0; i < result.Data.Count; i++)
{
//for (var disDate = startResult[i]; disDate <= endResult[i]; disDate = DateTime.Parse(disDate.AddDays(1).ToString("dd/MM/yyyy")))
for (var disDate = startResult[i]; disDate <= endResult[i]; disDate = disDate.AddDays(1))
{
disabledDates.Add(DateTime.Parse(disDate.ToString("dd/MM/yyyy")));
//disabledDates.Add(Convert.ToDateTime(disDate)).ToString("MM-dd-yyyy");
//disabledDatesString.Add(dt.(ToString("d MMM YY")));
}
}
return disabledDates;
}
它工作正常,但格式应该像 YYYY-MM-DD 我尝试了一些东西,但无法为需要的 Angular 提供输出。我的输出是
"2021-01-01T00:00:00",
"2021-01-02T00:00:00",
"2021-01-03T00:00:00",
"2021-01-04T00:00:00",
"2021-01-05T00:00:00",
"2021-01-06T00:00:00",
"2021-01-07T00:00:00",
"2021-01-08T00:00:00",
"2021-01-09T00:00:00",
"2021-01-10T00:00:00",
angulars 方法在我手动放置时有效,但是当我尝试使用函数获取它时,它会像上面那样接收数据。
disabledDates: Date[];
this.disabledDates = [
new Date('2021-03-20'),
new Date('2021-03-10'),
new Date('2021-03-11'),
];
getDisabledDates(carId:number){
this.rentalService.getDisabledDates(carId).subscribe(response=>{
this.disabledDates= response
console.log(response)
})
有没有办法让我的日期格式像 YYYY-MM-DD 像 disabledDates 手动提要?第二个是这个新的 Date 简单地由 for 或 for 每个循环添加
【问题讨论】:
-
我将保留 c# 代码并更改 javascript 函数以根据需要格式化从后端接收的值。您可以在数组上使用
map函数,然后执行substring(0,10)之类的字符串函数,或者通过解析然后重新格式化来使用日期操作。
标签: c# angular ngx-bootstrap