input标签日期限制选择
设置input标签的type 为 type=“date” 。
显示的就是一个可以选择的日期日历。就是一个非常简单的日历,没有任何的限制。
对于一些特定的情景,就需要对日历上的时间日期进行必要的限制选择。
- 固定的写法:
限制选择‘2022-05-20’之前的日期(禁选过去的日期时间)常用
<input type="date" class="form-control form-control-sm" name="FactoryTime" value="" min="2022-05-20"/>
限制选择‘2022-05-20’之后的日期(禁选未来的日期时间)
<input type="date" class="form-control form-control-sm" name="FactoryTime" value="" max="2022-05-20"/>
动态设置不可选择小于或大于当前时间
input标签有min 与 max 这两个属性,通过这设置两个属性,动态的进行‘ 禁选 ’操作。
一般用于选择‘生日日期’、‘借书日期’,‘登记日期’。
//动态设置不可选择小于或大于当前时间
$(function () {
//得到当前时间
var date_now = new Date();
//得到当前年份
var year = date_now.getFullYear();
//得到当前月份
//注:
// 1:js中获取Date中的month时,会比当前月份少一个月,所以这里需要先加一
// 2: 判断当前月份是否小于10,如果小于,那么就在月份的前面加一个 '0' , 如果大于,就显示当前月份
var month = date_now.getMonth() + 1 < 10 ? "0" + (date_now.getMonth() + 1) : (date_now.getMonth() + 1);
//得到当前日子(多少号)
var date = date_now.getDate() < 10 ? "0" + date_now.getDate() : date_now.getDate();
//设置input标签的max属性
$("#InputFactoryTime").attr("max", year + "-" + month + "-" + date);
//设置input标签的min属性
$("#InputPlannedEndTime").attr("min", year + "-" + month + "-" + date);
})
转换日期格式的方法
小例子:将‘2020-01-07 00:00:00’ 转换为‘ /Date(1578326400000)/’ 的格式。将字符串形式转换为日期对象形式
此代码是在自定义类中书写。
//进厂日期 ,日期转换格式
public string ftime { get; set; }
public string factoryTime
{
set
{
try
{
DateTime ft = Convert.ToDateTime(value);
ftime = ft.ToString("yyyy-MM-dd HH:mm:ss");
}
catch (Exception)
{
ftime = value;
}
}
get
{
return ftime;
}
}
小结:
- 一个‘进厂日期’需要创建对应的一个string 类型的 字段来接收并返回转换之后的日期对象
- 它们是一一对应的关系,有多少个字符串形式的日期就需要声明多少个string 类型的字段来接收+返回日期对象
- 当需要查询的数据库某一个表格中,同时存在2个以上的字符串形式的日期对象,那么就需要同时声明2个以上 string 类型的字段来接收并返回对应的数据。