面临从数据库中显示 am pm 的问题

Facing issue to show am pm from database

我正在使用 daterangerpicker 和 moment.js 作为日期范围。现在,当我将值从数据库传递到 daterangepicker 时,它采用了一些默认时间戳。最初我尝试查看 daterangepicker 格式,但没有得到任何帮助。后来我尝试探索moment.js方法仍然没有得到任何运气

我在浏览器控制台上查看这些值

日期格式 “MM-DD-YYYY hh a”

$(this).val()
“11/06/2020 下午 5 点”

但是下午 5 点不知何故变成了凌晨 12 点。下面是我的代码

var dateFormat = $(this).data("date-format") || "MM/DD/YYYY hh A";
  
var currentDate = $(this).val().length > 1 ? moment($(this).val(), dateFormat)._d : null;
$(this).attr("autocomplete", "off");

var dates = $(this).daterangepicker(
  {
    singleDatePicker: true,
    locale: {
      format: dateFormat
    }
  },
  function(start, end, label)
  {
    $(this).val(start.format(dateFormat));
  }
);
if(currentDate && currentDate != 'Invalid Date'){
  dates.daterangepicker( { startDate: currentDate } );
}
dates.daterangepicker({ singleDatePicker: true, showDropdowns: true, autoApply: false, timePicker: true, minDate: Abc.getAdminMinDateTime(), locale: { format: dateFormat} });

日期范围选择器版本 3.0.5 Moment.js2.18.1

终于找到解决办法了。它不起作用的原因是 $(this).daterangepicker 当我们调用 daterangepicker 时它会创建一个新对象

var dateFormat = $(this).data("date-format") || "MM/DD/YYYY hh A";
  
var currentDate = $(this).val().length > 1 ? moment($(this).val(), dateFormat)._d : null;


$(this).attr("autocomplete", "off");
  var date_options = {
    singleDatePicker: true,
    showDropdowns: true,
    autoApply: false,
    timePicker: true,
    minDate: Abc.getAdminMinDateTime(),
    locale: { format: dateFormat }
  }
  if(currentDate && currentDate != 'Invalid Date'){
    date_options["startDate"] = currentDate;
  }
  var dates = $(this).daterangepicker(date_options, function(start, end, label){
    $(this).val(start.format(dateFormat));
  });