搜索

首页  >  问答  >  正文

获取输入类型为日期的最大属性

我试图将我的日期输入最大属性限制为流动的,以便它每年都会发生变化。不像现在那样硬编码。

现在:<input type="date" @bind-value="product.DateRetired" min="1950-01-01" max="2024-12-31" />

我尝试将其分解为:

  1. 获取今天的日期 (16/02/2023)
  2. 在该日期基础上添加 1 年(2024 年 2 月 16 日)
  3. 返回新年的最后日期 (31/12/2024)
  4. 更改 max 属性的格式 (2024-12-31)

尝试1:

<input type="date" @bind-value="product.DateRetired" min="1950-01-01" max="@GetNextYear-12-31" />

 private int GetNextYear()
    {
        DateTime thisyearaddone = DateTime.Today.AddYears(1);
        int nextyear = thisyearaddone.Year;
    
        return nextyear;
    }

尝试2:

<input type="date" @bind-value="product.DateRetired" min="1950-01-01" max="@GetNextYearDate" />

 private DateTime GetNextYear()
    {
        DateTime thisyearaddone = DateTime.Today.AddYears(1);
        int nextyear = thisyearaddone.Year;
        DateTime maxretireddate = new DateTime(nextyear, 12, 31);
        return maxretireddate;
    }

尝试3:

public string MaxRetiredDate;

 <input type="date" @bind-value="product.DateRetired" min="1950-01-01" max="@MaxRetiredDate" onclick="@GetMaxRetiredDate" />

private void GetMaxRetiredDate()
    {
        DateTime NextYearDate = DateTime.Today.AddYears(1);
        int NextYearInt = NextYearDate.Year;
        DateTime MaxRetiredDate = new DateTime(NextYearInt, 12, 31);
        MaxRetiredDate.ToString("yyyy-mm-dd");
      
    }

每次尝试都不成功,我可以选择此范围之外的日期。也许与更改格式有关?我该怎么做?

P粉676588738P粉676588738269 天前421

全部回复(1)我来回复

  • P粉005105443

    P粉0051054432024-03-31 14:27:20

    整个事情可以压缩为 1 行代码:

    public string MaxRetiredDate = $"{(DateTime.Today.AddYears(1)).Year}-12-31";
    
    

    回复
    0
  • 取消回复