【问题标题】:Date and time converting to milliseconds日期和时间转换为毫秒
【发布时间】:2014-11-26 13:31:16
【问题描述】:

我想不时更改日期,以毫秒为单位。

我写了这段代码,但是从 json 获取时它给出了错误的日期和时间。

我想不时更改日期,以毫秒为单位。 | 我编写了这段代码,但是在从 json 获取时,它给出了错误的日期和时间。 | 我想不时更改日期,以毫秒为单位。 | 我编写了这段代码,但是在从 json 获取时,它给出了错误的日期和时间。 | 我想不时更改日期,以毫秒为单位。 | 我编写了这段代码,但是在从 json 获取时,它给出了错误的日期和时间。 | 我想不时更改日期,以毫秒为单位。 |

我写了这段代码,但是从 json 获取时它给出了错误的日期和时间。 |

    var date = $('#datepicker').val();/* Date */
    var date_array = date.split('/')
    var formatted_date = date_array[1] + '/' + date_array[0] + '/' + date_array[2];
    var date_format = new Date(formatted_date);
    var gt_date = date_format.getTime();

    var from_time = $("#timepicker1").val();/* From Time */
    var from_time_array = from_time.split(':')
    var from_formatted_time = from_time_array[0] + ':' + from_time_array[1];
    var from_split_time_array = from_time_array[1].split(' ')
    var formatted_from_time = from_split_time_array[0] + ' ' + from_split_time_array[1];
    alert(from_time_array[0] + '-' + from_split_time_array[0] + '-' + from_split_time_array[1]);
    if(from_split_time_array[1] == 'pm')
    {
        var from_time_format = (((Number(from_time_array[0])+12) * 60 + Number(from_split_time_array[0]) * 60) * 60) * 1000;
    }
    else
    {
        var from_time_format = ((Number(from_time_array[0]) * 60 + Number(from_split_time_array[0]) * 60) * 60) * 1000;
    }

    var to_time = $("#timepicker2").val(); /* To Time */
    var to_time_array = to_time.split(':')
    var to_formatted_time = to_time_array[0] + ':' + to_time_array[1];
    var to_split_time_array = to_time_array[1].split(' ')
    var formatted_to_time = to_split_time_array[0] + ' ' + to_split_time_array[1];
    alert(to_time_array[0] + '-' + to_split_time_array[0] + '-' + to_split_time_array[1]);
    if(to_split_time_array[1] == 'pm')
    {
        var to_time_format = (((Number(to_time_array[0])+12) * 60 + Number(to_split_time_array[0]) * 60) * 60) * 1000;
    }
    else
    {
        var to_time_format = ((Number(to_time_array[0]) * 60 + Number(to_split_time_array[0]) * 60) * 60) * 1000;
    }


    var from_time_sec = gt_date + from_time_format;
    var to_time_sec = gt_date + to_time_format; /* ----------- */

【问题讨论】:

  • 我想我唯一的问题是,你想不时更改日期,到毫秒。?
  • 日期+从时间和日期+到时间

标签: jquery jquery-ui datetime milliseconds


【解决方案1】:

您帖子中的格式存在严重错误 :) 但我建议如果您想从日期对象中获取毫秒数,您应该在日期上调用 getTime()。

如果您在一个普通的 new Date() 对象上调用 getTime(),您将获得当前时间(以毫秒为单位):

var millis = new Date().getTime()

你可能不想要“现在”,所以你应该在你的日期调用 setter 来设置所需的时间:

var d = new Date();
d.setHour(14);
// and so on for minutes, seconds, date, month, year 
var millis = d.getTime();
  • setDate() - 设置日期对象的日期
  • setFullYear() - 设置日期对象的年份
  • setHours() - 设置日期对象的小时
  • setMilliseconds() - 设置日期对象的毫秒数
  • setMinutes() - 设置日期对象的分钟数
  • setMonth() - 设置日期对象的月份
  • setSeconds() - 设置日期对象的秒数

您可以查看other setters here

注意:我建议了一种基本的 Javascript 方式。您应该始终注意时区并测试每个步骤中发生的情况,这样您就不会做出错误的假设。我还建议您了解 UTC 和本地时区之间的区别(因为毫秒是根据 1970 年 1 月 1 日 00:00:00 UTC 的 Unix 纪元测量的)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多