如何将使用 datetimepicker 获得的值转换为日期和时间?
Posted
技术标签:
【中文标题】如何将使用 datetimepicker 获得的值转换为日期和时间?【英文标题】:How can I convert the value I get with datetimepicker to date and time? 【发布时间】:2021-09-16 01:15:32 【问题描述】:var innerDate = document.getElementById('datetimepicker3').value;
我从这行得到的格式是:innerDate: "2021/07/07 14:00"
但是我需要在这里解析日期和时间信息。如何将开始日期和开始时间转换为两个单独的变量?
【问题讨论】:
尝试使用 momentjs 或 Luxon ,这些是用于操作日期和更改格式的出色库 【参考方案1】:我建议使用moments.js 解析该字符串,然后根据您的需要get the individual parts 进行计算或应用所需的formatting
可在https://jsfiddle.net/Ly6qen3w/获取示例
let innerDateInput = "2021/07/07 14:00";
let innerDateMoment = moment(innerDateInput, "YYYY/MM/DD hh:mm");
console.log("Date:"+innerDateMoment.format("YYYY-MM-DD"));
console.log("Time:"+innerDateMoment.format("hh:mm"));
【讨论】:
【参考方案2】:试试这个:
var innerDate = new Date(document.getElementById('datetimepicker3').value)
或者您可以附加一个事件处理程序以在日期发生变化时获取日期
<script type="text/javascript">
$("#datetimepicker3").on("dp.change", function (e)
let date = e.date;
console.log(date);
// no need to convert to a date
);
</script>
【讨论】:
@try123 看看这个!【参考方案3】:您可以使用 JavaScript 提供的各种方法在不同的变量中简单地获取它来获取所有内容。
你可以做的是(id 它是一个日期对象,否则你必须将它转换为日期对象)
let startDate = new Date(innerDate).getDate() + "/" + new Date(innerDate).getMonth() + "/" + new Date(innerDate).getFullYear();
let startTime = new Date("2021/07/07 14:00").getHours() +":"+ new Date("2021/07/07 14:00").getMinutes()
如果您想要其他内容,也可以使用毫秒、UFC 时间等方法检索。
如果你觉得这很混乱,我建议你使用 moment.js。 https://momentjs.com/
【讨论】:
几个月只需 +1,因为它会减少 1 的价值。以上是关于如何将使用 datetimepicker 获得的值转换为日期和时间?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 DateTimePicker 下拉菜单设置为仅选择年或月?
将 DateTimePicker 时间格式值设置为从数据库 VB.NET 返回的值
如何将winforms datetimepicker设置为没有默认值?
构建 SQL 查询以在 C# 中的 2 个 DateTimePickers 的值之间进行搜索
如何将 twitter bootstrap datetimepicker 的日期设置为数据库中的日期而不被 maxDate 覆盖