JavaScript AM/PM时间比较

JavaScript AM/PM time comparison

本文关键字:时间 比较 PM AM JavaScript      更新时间:2023-09-26

假设我有两个日期时间变量:

var fromdt = "2013/05/29 12:30 PM";
var todt = "2013/05/29 01:30 AM";

我想比较这两个日期时间。我怎样才能让Javascript识别时间是上午还是下午?

我认为Javascript会以24小时的格式比较时间。我需要将时间转换为24小时格式吗?对吗?谁能建议正确的解决方案....

直接使用javascript函数

var fromdt = "2013/05/29 12:30 PM";
var todt = "2013/05/29 01:30 AM";
var from = new Date(Date.parse(fromdt));
var to = new Date(Date.parse(todt));
alert(from);
alert(to)
if (from > to) alert("From");
else alert("To");

一旦日期被解析成日期形式,你就可以对它做任何你喜欢的事情。您可以使用标准运算符符号(>, <)来比较日期。等)

我不确定你需要用它们做什么,但是http://www.w3schools.com/jsref/jsref_obj_date.asp是一个不错的参考。

这里有一个蹩脚的沙盒上面的代码http://jsfiddle.net/QpFcW/

和XX删除的更好的一个:(http://jsfiddle.net/QpFcW/1/

使用此函数

function get_time() {
  var time_t = "";
  var d = new Date();
  var cur_hour = d.getHours();
  cur_hour < 12 ? (time_t = "am") : (time_t = "pm");
  cur_hour == 0 ? (cur_hour = 12) : (cur_hour = cur_hour);
  cur_hour > 12 ? (cur_hour = cur_hour - 12) : (cur_hour = cur_hour);
  var curr_min = d.getMinutes().toString();
  var curr_sec = d.getSeconds().toString();
  if (curr_min.length == 1) {
    curr_min = "0" + curr_min;
  }
  if (curr_sec.length == 1) {
    curr_sec = "0" + curr_sec;
  }
  $("#updatedTime").html(
    cur_hour + ":" + curr_min + ":" + curr_sec + " " + time_t
  );
  alert(cur_hour + ":" + curr_min + ":" + curr_sec + " " + time_t);
}