转换SQL datetime以在输入类型datetime local中显示
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转换SQL datetime以在输入类型datetime local中显示相关的知识,希望对你有一定的参考价值。
我有一个日期时间字符串,它以下列格式从控制器中检索:
dd-MM-yyyy hh:mm:ss a
3/1/2018 4:02:00 PM
我想在输入类型datetime-local
中显示它。所以我需要将datetime转换为这种格式:
yyyy-MM-DDTHH:mm
2018-01-03T16:02
我首先尝试使用此代码,它将输出为js格式,然后使用函数将其格式化。但它错误地将月份视为月份和月份。这意味着输出将显示像这样2018-03-01T16:02
。
var date_test = new Date("3/1/2018 4:02:00 PM".replace(/-/g,"/"));
还有另一种方法可以正确转换吗?
答案
既然你已经知道格式了
dd-MM-yyyy hh:mm:ss a
3/1/2018 4:02:00 PM
为什么不正确分割字符串(日期部分,然后是时间部分),最后只使用yyyy,MM,dd等创建新的日期对象?
另一答案
使用moment.js。好图书馆:
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.7.0/moment.min.js"></script>
<script type="text/javascript">
var dateString = "3/1/2018 4:02:00 PM";
var currentDate = moment(dateString, "M/D/YYYY h:mm:ss a");
document.write(currentDate.format("YYYY-MM-DDTHH:mm"))
</script>
以上是关于转换SQL datetime以在输入类型datetime local中显示的主要内容,如果未能解决你的问题,请参考以下文章
将 datetime2 数据类型转换为 datetime 数据类型导致值超出范围
错误 sql:将 varchar 数据类型转换为 datetime 数据类型导致值超出范围
SQL Server2008中,生日字段为datetime类型,只获取月日,然后根据输入的天数判断好久生日,怎样实现?
将 char 数据类型转换为 datetime 数据类型导致 SQL Server 2005 中的 datetime 值超出范围