将 dd-mm-yyyy 格式的字符串转换为 JavaScript 中的日期对象
尝试转换 dd-mm-yyyy 格式的字符串到 Date 对象中,由于 '-' 的存在,您可能会遇到“无效日期”错误
解决方案 1:按“-”拆分
将字符串分成单独的日、月和年部分:
var dateStr = $("#datepicker").val(); var dateParts = dateStr.split("-"); var date = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]);
解决方案 2:使用正则表达式(正则表达式)
使用正则表达式从字符串中提取各个组成部分:
var regex = /(\d{2})-(\d{2})-(\d{4})/; var date = new Date(dateStr.replace(regex, "//"));
建议:按“-”拆分
虽然正则表达式提供了更大的灵活性,但在解析固定格式字符串时建议使用“-”进行分割,因为它更简单、更高效高效,特别是当您在代码的多个部分重用解析逻辑时。
可重用性和现代 JavaScript
为了可重用性,您可以将解析逻辑包装在函数:
function parseDate(dateStr) { var dateParts = dateStr.split("-"); return new Date(dateParts[2], dateParts[1] - 1, dateParts[0]); }
在现代 JavaScript 中,您可以使用数组解构来简化解析:
const parseDate = (dateStr) => { const [day, month, year] = dateStr.split("-"); return new Date(year, month - 1, day); };
以上是如何安全地将 dd-mm-yyyy 字符串转换为 JavaScript 日期对象?的详细内容。更多信息请关注PHP中文网其他相关文章!