Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript moment.js时间不在UTC中_Javascript_Momentjs - Fatal编程技术网

Javascript moment.js时间不在UTC中

Javascript moment.js时间不在UTC中,javascript,momentjs,Javascript,Momentjs,我尝试了矩.utc()和矩.format('YYYY-MM-DD')来获取当前的年份、日期和时间以及午夜的小时数。我遇到的问题是,我正确地获得了年、月和日,但小时数为+4小时 function initalize_daterange() { console.log("It has been loaded!"); if( typeof ($.fn.daterangepicker) === 'undefined'){ return; } var cb = fun

我尝试了矩.utc()和矩.format('YYYY-MM-DD')来获取当前的年份、日期和时间以及午夜的小时数。我遇到的问题是,我正确地获得了年、月和日,但小时数为+4小时

    function initalize_daterange() {

    console.log("It has been loaded!");

    if( typeof ($.fn.daterangepicker) === 'undefined'){ return; }

    var cb = function(start, end, label) {
    console.log(start.toISOString(), end.toISOString(), label);
    $('#questionsrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
    minimum = Date.parse(start.toISOString()).getTime();
    maximum = Date.parse(end.toISOString()).getTime();
    $(document).trigger("load_chart");
  };

  var optionSet1 = {
    startDate: moment().subtract(29, 'days'),
    endDate: moment(),
    minDate: '06/10/2017',
    maxDate: moment(),
    dateLimit: {
    days: 60
    },
    showDropdowns: true,
    showWeekNumbers: true,
    timePicker: false,
    timePickerIncrement: 1,
    timePicker12Hour: true,
    ranges: {
    'Today': [moment(), moment()],
    'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
    'Last 7 Days': [moment().subtract(6, 'days'), moment()],
    'Last 30 Days': [moment().subtract(29, 'days'), moment()],
    'This Month': [moment().startOf('month'), moment().endOf('month')],
    'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
    },
    opens: 'left',
    buttonClasses: ['btn btn-default'],
    applyClass: 'btn-small btn-primary',
    cancelClass: 'btn-small',
    format: 'MM/DD/YYYY',
    separator: ' to ',
    locale: {
    applyLabel: 'Submit',
    cancelLabel: 'Clear',
    fromLabel: 'From',
    toLabel: 'To',
    customRangeLabel: 'Custom',
    daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
    monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
    firstDay: 1
    }
  };

  $('#questionsrange span').html(moment().subtract(29, 'days').format('MMMM D, YYYY') + ' - ' + moment().format('MMMM D, YYYY'));
  $('#questionsrange').daterangepicker(optionSet1, cb);
  $('#questionsrange').on('show.daterangepicker', function() {
    console.log("show event fired");
  });
  $('#questionsrange').on('hide.daterangepicker', function() {
    console.log("hide event fired");
  });
  $('#questionsrange').on('apply.daterangepicker', function(ev, picker) {
    console.log("apply event fired, start/end dates are " + picker.startDate.format('MMMM D, YYYY') + " to " + picker.endDate.format('MMMM D, YYYY'));
  });
  $('#questionsrange').on('cancel.daterangepicker', function(ev, picker) {
    console.log("cancel event fired");
  });
  $('#options1').click(function() {
    $('#questionsrange').data('daterangepicker').setOptions(optionSet1, cb);
  });
  $('#options2').click(function() {
    $('#questionsrange').data('daterangepicker').setOptions(optionSet2, cb);
  });
  $('#destroy').click(function() {
    $('#questionsrange').data('daterangepicker').remove();
  });

}
下面的代码片段给出了开始日期和结束日期,但加上4小时

minimum = Date.parse(start.toISOString()).getTime();
maximum = Date.parse(end.toISOString()).getTime();

如果将所有的矩()调用替换为矩().utc(),它将按预期工作。看到这个了吗

UTC

相对于UTC时间以上的当地时间
$(函数(){ setInterval(函数(){ var divUtc=$(“#divUtc”); var divLocal=$(“#divLocal”); //将UTC时间转换为UTC时间 文本(矩.utc()格式('YYYY-MM-DD HH:MM:ss'); //从divUTC和conver获取文本到本地时区 var localTime=moment.utc(divUtc.text()).toDate(); localTime=时刻(localTime).format('YYYY-MM-DD HH:MM:ss'); divLocal.text(localTime); },1000); });
如果将所有的矩()调用替换为矩().utc(),它将按预期工作。看到这个了吗

UTC

相对于UTC时间以上的当地时间
$(函数(){ setInterval(函数(){ var divUtc=$(“#divUtc”); var divLocal=$(“#divLocal”); //将UTC时间转换为UTC时间 文本(矩.utc()格式('YYYY-MM-DD HH:MM:ss'); //从divUTC和conver获取文本到本地时区 var localTime=moment.utc(divUtc.text()).toDate(); localTime=时刻(localTime).format('YYYY-MM-DD HH:MM:ss'); divLocal.text(localTime); },1000); });
是否有使用日期的原因。请解析而不是使用时刻?此外,代码中对矩的大多数引用都是
moment()
,而不是
moment.utc()
,所以这就是为什么它不是utc。我尝试了start.format('x')以毫秒为单位获取unix时间,但不幸的是,距离我预期的时间还有4个小时,即使使用矩.utc()投票结束主题。我们不是API教程服务。您使用
Date.parse
而不是使用矩有什么原因吗?此外,代码中对矩的大多数引用都是
moment()
,而不是
moment.utc()
,所以这就是为什么它不是utc。我尝试了start.format('x')以毫秒为单位获取unix时间,但不幸的是,距离我预期的时间还有4个小时,即使使用矩.utc()投票结束主题。我们不是API教程服务。
UTC<br/>
<div id="divUTC"></div><br/>
Your Local Time with respect to above UTC time<br/>
<div id="divLocal">
</div>    

$(function(){
    setInterval(function(){
        var divUtc = $('#divUTC');
        var divLocal = $('#divLocal');  
        //put UTC time into divUTC  
        divUtc.text(moment.utc().format('YYYY-MM-DD HH:mm:ss'));      

        //get text from divUTC and conver to local timezone  
        var localTime  = moment.utc(divUtc.text()).toDate();
        localTime = moment(localTime).format('YYYY-MM-DD HH:mm:ss');
        divLocal.text(localTime);        
      },1000);
    });