【问题标题】:jquery convertion from string to timejquery从字符串到时间的转换
【发布时间】:2011-11-10 05:09:58
【问题描述】:

我正在开发一个系统,它以以下格式记录一天中的不同时间: 06:53:2219:23:58 为例。

谁能告诉我是否可以将此字符串转换为我可以用来比较一天中的时间的 javascript 构造?

【问题讨论】:

    标签: javascript string time


    【解决方案1】:

    你可以用这个来解析时间:

    function timeToSeconds(time) {
        time = time.split(/:/);
        return time[0] * 3600 + time[1] * 60 + time[2];
    }
    

    它返回从 00:00:00 开始的秒数,因此您可以轻松比较结果:

    timeToSeconds('06:53:22') < timeToSeconds('19:23:58')
    

    【讨论】:

    • 我看到了一个错误。函数返回除 int 之外的字符串。为了解决这个问题,我们需要使用:return time[0] * 3600 + time[1] * 60 + time[2] * 1;
    【解决方案2】:
    var startTime = "19:23:58";
    var endTime = "06:53:22";
    
    var startDate = new Date("1/1/1900 " + startTime);
    var endDate = new Date("1/1/1900 " + endTime);
    
    if (startDate > endDate)
      alert("invalid time range");
    else
      alert("valid time range");
    

    js 足够聪明,可以弄清楚:)

    【讨论】:

    • 太好了,谢谢约瑟夫。
    【解决方案3】:

    当然你可以这样做,但在你解析这个字符串之前。 date = new Date(year, month, day, hours, minutes, seconds, milliseconds) - 我们创建了新对象。之后我们可以使用date.getTime()date.getFullYear..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-24
      • 2018-07-15
      • 1970-01-01
      相关资源
      最近更新 更多