在Javascript中将字符串转换为单个日期

在Javascript中将字符串转换为单个日期,javascript,html,Javascript,Html,我有一个输入文本,有日期和时间的组合,并显示如下 04/01/2015 8:48PM 如何使用javascript中的函数new date()将此字符串转换为日期?不显示输出 这是我到目前为止所做的尝试,我只能转换日期而不能转换时间。 HTML 这是一个既能解决这个问题又能使开发更容易的答案。这个建议需要一个额外的库来解决您在这里遇到的问题,但是您可能会发现它在处理JavaScript日期时非常有用。看起来您正在编写手动日期函数。用健壮的库将它们抽象出来,以解决这些反复出现的问题。使用,这是

我有一个输入文本,有日期和时间的组合,并显示如下

04/01/2015 8:48PM 
如何使用javascript中的函数new date()将此字符串转换为日期?不显示输出

这是我到目前为止所做的尝试,我只能转换日期而不能转换时间。 HTML


这是一个既能解决这个问题又能使开发更容易的答案。这个建议需要一个额外的库来解决您在这里遇到的问题,但是您可能会发现它在处理JavaScript日期时非常有用。看起来您正在编写手动日期函数。用健壮的库将它们抽象出来,以解决这些反复出现的问题。使用,这是多么容易做到这一点

Date.parse('04/01/2015 8:48PM ')

如果日期格式始终相同,请创建一个方便函数,将日期转换为日期对象

function convert(date) {
    var dateArr = date.split(/[\s\/\:]/);

    if (dateArr[4].toLowerCase().indexOf('pm') != -1) 
        dateArr[3] = (+dateArr[3]) + 12;

    dateArr[4] = dateArr[4].replace(/\D/g,'');
    dateArr[0]--;

    return new Date(dateArr[2], dateArr[0], dateArr[1], dateArr[3], dateArr[4]);
}

您可以在解析日期字符串后创建日期对象

var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
您可以按如下方式使用parseDate函数

var testDate = "04/01/2015 8:48PM";
console.log(parseDate(testDate));

function parseDate(dateStr){
    var dateTime = dateStr.split(/\/| |:|(?=[PA])/);

    for(var i=0; i<5; i++){
        dateTime[i] = parseInt(dateTime[i]);
    }
    if(dateTime[5] == "PM"){
        dateTime[3] += 12;
    }

    return new Date(dateTime[2], dateTime[1], dateTime[0], dateTime[3], dateTime[4]);
}
var testDate=“04/01/2015 8:48PM”;
log(parseDate(testDate));
函数parseDate(dateStr){
var dateTime=dateStr.split(/\/):(?=[PA])/;

对于(var i=0;iin,您必须转换该数据的格式是哪种?该日期是DD/MM/YYYY还是MM/DD/yyyyy格式?回答了这个问题,可能是重复的
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
var testDate = "04/01/2015 8:48PM";
console.log(parseDate(testDate));

function parseDate(dateStr){
    var dateTime = dateStr.split(/\/| |:|(?=[PA])/);

    for(var i=0; i<5; i++){
        dateTime[i] = parseInt(dateTime[i]);
    }
    if(dateTime[5] == "PM"){
        dateTime[3] += 12;
    }

    return new Date(dateTime[2], dateTime[1], dateTime[0], dateTime[3], dateTime[4]);
}