首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我想将此字符串(30月30日,2020年11月8:54 PM)转换为JavaScript中的30-11-2020日期格式,请帮助我

要将字符串(30月30日,2020年11月8:54 PM)转换为JavaScript中的30-11-2020日期格式,可以使用以下步骤:

  1. 首先,需要将字符串中的中文字符和冒号去除,只保留数字和英文字符。可以使用正则表达式来匹配并替换这些字符。
代码语言:txt
复制
var str = "30月30日,2020年11月8:54 PM";
str = str.replace(/[^\d:]/g, "");
  1. 接下来,需要将字符串中的时间部分(8:54 PM)转换为24小时制的时间。可以使用JavaScript的Date对象来实现。
代码语言:txt
复制
var time = str.split(" ")[1];
var hours = parseInt(time.split(":")[0]);
var minutes = parseInt(time.split(":")[1]);
if (time.indexOf("PM") > -1 && hours < 12) {
  hours += 12;
} else if (time.indexOf("AM") > -1 && hours === 12) {
  hours = 0;
}
str = str.split(" ")[0] + " " + hours + ":" + minutes;
  1. 最后,使用JavaScript的Date对象和相关方法将字符串转换为日期格式。
代码语言:txt
复制
var date = new Date(str);
var day = date.getDate();
var month = date.getMonth() + 1;
var year = date.getFullYear();
var formattedDate = day + "-" + month + "-" + year;

完整的代码如下:

代码语言:txt
复制
var str = "30月30日,2020年11月8:54 PM";
str = str.replace(/[^\d:]/g, "");
var time = str.split(" ")[1];
var hours = parseInt(time.split(":")[0]);
var minutes = parseInt(time.split(":")[1]);
if (time.indexOf("PM") > -1 && hours < 12) {
  hours += 12;
} else if (time.indexOf("AM") > -1 && hours === 12) {
  hours = 0;
}
str = str.split(" ")[0] + " " + hours + ":" + minutes;
var date = new Date(str);
var day = date.getDate();
var month = date.getMonth() + 1;
var year = date.getFullYear();
var formattedDate = day + "-" + month + "-" + year;

console.log(formattedDate);

这样就可以将字符串(30月30日,2020年11月8:54 PM)转换为JavaScript中的30-11-2020日期格式。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券