$ filter(' date')返回"无效日期"

时间:2015-09-17 09:26:29

标签: javascript angularjs

我有一个格式如下的日期字符串:

$(document).ready(function() {
        $(".contact-form").click(function() {
            $(".contactform").slideToggle(300);
        });
});

$(document).ready(function() {
    $(".contact-form").on("click", function() {
            $("body").animate({"scrollTop": window.scrollY+300}, 700);
                return false;
    });
});

我想将其转换为格式

20150917

所以我使用此代码首先将前者转换为日期对象,然后将其转换回具有新格式的字符串:

17-sep-2015 

console.log正在给我

var myDate = $filter('date')(new Date(dateStr, 'yyyyMMdd'));
console.log(myDate); //to make sure

为什么?

2 个答案:

答案 0 :(得分:1)

这将有效

var dateString = "20150917";
$scope.myDate =  $filter('date')(new Date(dateString.replace(/(\d{4})(\d{2})(\d{2})/, '$1-$2-$3')), 'dd-MMM-yyyy');
console.log('$scope.myDate: ', $scope.myDate);

答案 1 :(得分:0)

您应该看到moment库。

您可以测试一下:

moment(20150917).format("DD-MMM-YYYY");