javascript - 在javascript中将字符串转换为日期时间并与当前时间进行比较

标签 javascript jquery string-to-datetime

我正在尝试从 datetimepicker tetxbox 中获取值并将这些值与当前时间进行比较。

JSFiddle

        //startTime textbox text = 19/12/2014 03:58 PM
        var startTime = Date.parse($('[id$=txtStartDate]').val().toString());

        //endTime textbox text = 19/12/2014 04:58 PM
        var endTime = Date.parse($('[id$=txtEndDate]').val().toString());

        var currentTime = Date.now();
        alert(startTime);
        alert(endTime);
        alert(currentTime);

        if (currentTime >= startTime && currentTime <= endTime) {
              alert();

        }

自 1970 年 1 月 1 日起,Date.parse() 用于将字符串转换为毫秒。 Date.now() 返回自 1970 年 1 月 1 日以来的当前日期毫秒数。

但是上面的转换方式都不能正常工作。 通过首先将格式为 19/12/2014 03:58 PM 的字符串转换为日期对象然后进行比较来比较日期时间应该是什么逻辑。

最佳答案

问题是 Date() 需要日期格式 mm/dd/yyyy,因此您的日期无效。

你可以像这样确定你的日期:

function toValidDate(datestring){
    return datestring.replace(/(\d{2})(\/)(\d{2})/, "$3$2$1");   
}

var startTime = Date.parse(toValidDate($('[id$=txtStartDate]').val().toString())); 
var endTime = Date.parse(toValidDate($('[id$=txtEndDate]').val().toString()));    
var currentTime = Date.now();

alert(startTime);
alert(endTime);
alert(currentTime);

演示:http://jsfiddle.net/3mztdaja/3/

关于javascript - 在javascript中将字符串转换为日期时间并与当前时间进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27564639/

相关文章:

javascript - 将数组对象转换为嵌套的 ul li 元素

jquery - 边界和边距问题

jQuery ajax 不调用 Servlet

python - 从系列中提取小时/分钟/秒

javascript - CheerioJS 从具有相同类名的三个 div 元素中选择一个

javascript - 如何让 Protractor 按下ESCAPE键?

python - python strptime的自定义格式指令

python - 慢 pd.to_datetime()

javascript - 如何使routeParams可选

javascript - AJAX PHP - 响应是一个具有空值的对象