转换SQL datetime以在输入类型datetime local中显示

问题描述 投票:1回答:2

我有一个日期时间字符串,它以下列格式从控制器中检索:

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,"/"));

还有另一种方法可以正确转换吗?

javascript c# datetime
2个回答
1
投票

既然你已经知道格式了

dd-MM-yyyy hh:mm:ss a
3/1/2018 4:02:00 PM

为什么不正确分割字符串(日期部分,然后是时间部分),最后只使用yyyy,MM,dd等创建新的日期对象?


0
投票

使用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>
© www.soinside.com 2019 - 2024. All rights reserved.