选择日期将给出一个对象,而不是日期

时间:2019-02-06 20:10:56

标签: angularjs angular-daterangepicker

当我选择日期并应用过滤器时,startDate和endDate都是对象,我似乎无法获得所选日期。

我已经尝试过选择对象内部的属性,但这并不能给我带来美好的时光。

我有以下代码:

控制器

$scope.datePicker = {
        date: {startDate: null, endDate: null},
        options: {
            maxSpan: {
                days: 31
            },
            maxDate: moment(),
            locale: {
                separator: '  -  ',
                format: "D/MM/YYYY"
            },
            monthNames: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro',
                'Outubro', 'Novembro', 'Dezembro'
            ]
        }
    };

HTML

<input class="filter-select date-picker" type="text" 
                        date-range-picker
                        options="datePicker.options"
                        max="datePicker.options.maxDate"
                        ranges="datePicker.opstions.maxSpan.days"
                        ng-model="datePicker.date" />

我还有一个观察者,记录了以下图像:

有人知道如何以简单的字符串或日期格式获取startDate和endDate值吗?

1 个答案:

答案 0 :(得分:1)

您可以使用moment以所需的格式获取日期。

例如:

   @IBAction func oneTapped(_ sender: Any) {

    if staroneBtn.isSelected == true{

        staroneBtn.setBackgroundImage(#imageLiteral(resourceName: "1stared"), for: .normal)
        hotelArray.filter(){$0.star == 1}
        self.tbView.reloadData()

    } else if staroneBtn.isSelected == false{
        staroneBtn.setBackgroundImage(#imageLiteral(resourceName: "1star"), for: .normal)
    }
    staroneBtn.isSelected = !staroneBtn.isSelected
}

@IBAction func twoTapped(_ sender: UIButton) {

    if startwoBtn.isSelected == true{
        startwoBtn.setBackgroundImage(#imageLiteral(resourceName: "2stared"), for: .normal)
        hotelArray.filter(){$0.star == 2}
        self.tbView.reloadData()
}else if startwoBtn.isSelected == false{
        startwoBtn.setBackgroundImage(#imageLiteral(resourceName: "2star"), for: .normal)
    }
    startwoBtn.isSelected = !startwoBtn.isSelected

}

要了解各种日期格式,可以在moment date formats上进行检查