Обработка даты из поля datetime-local

Для преобразования используем 2 функции: 

select FORMAT(getdate(), 'yyyy-MM-ddTHH:mm:ss')   -- из даты в строку (в GetItem)

select try_cast('2022-02-16T10:16:00' as datetime )  -- обратно из строки в дату (в SaveItems)

Примечание: в некоторых случаях элемент ввода отрезает секунды от даты и обычный try_cast дает null. В этом случае дописываем секунды к дате ":00" следующим образом в SaveItem:

select @pfromDate = try_cast(iif(len(value2)< 17, Value2+':00', Value2)  as datetime) from @parameters where [key]='fromDate'
	

Примечание 2: Иногда могут быть проблемы с локальными установками браузера (и ОС), когда дата приходит в разных форматах. Для этого можем использовать следующий код: 

declare @dtt nvarchar=(select value from @parameters where [key]='dt'), @dt date
set @dt=try_convert(date,@dtt,126)
if isnull(year(@dt),1900)<1901 set @dt=try_convert(date,@dtt,104)
if isnull(year(@dt),1900)<1901 set @dt=null
if @dt is null begin
    	select 0 Result, 'Неправильная дата' Msg
        return
end

Дополнительно: https://stackoverflow.com/questions/7372038/is-there-any-way-to-change-input-type-date-format

Страница-источник на сайте falconspace.ru