Javascript “如何格式化时间戳字符串”;201804122359+;0530“;(yyyyMMddHHmmZ)至正常;DD-MM-yyy-HH:MM“;用角js?

Javascript “如何格式化时间戳字符串”;201804122359+;0530“;(yyyyMMddHHmmZ)至正常;DD-MM-yyy-HH:MM“;用角js?,javascript,angularjs,cordova,datetime,timestamp,Javascript,Angularjs,Cordova,Datetime,Timestamp,我正在做cordova web应用程序。我从soap web服务中获得了类似“201804122359+0530”的时间戳。我无法使用这些方法格式化为标准时间格式(str_date是字符串时间戳的变量)- 1-方法-其抛出无效日期错误 $scope.current_time = new Date(str_date); var formatted_date = $filter('date')(str_date,'dd/MM/yyyy HH:mm:ss'); 2-方法-这也会引发无效日期错误 $

我正在做cordova web应用程序。我从soap web服务中获得了类似“201804122359+0530”的时间戳。我无法使用这些方法格式化为标准时间格式(str_date是字符串时间戳的变量)-

1-方法-其抛出无效日期错误

$scope.current_time = new Date(str_date);
var formatted_date = $filter('date')(str_date,'dd/MM/yyyy HH:mm:ss');
2-方法-这也会引发无效日期错误

$scope.current_time = new Date(str_date);
var formatted_date = $filter('date')(str_date,'dd/MM/yyyy HH:mm:ss');
因此,我无法使用这些方法格式化。请给我任何其他方法来格式化的日期在角js

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    console.log(navigator.globalization.getDatePattern);
}

//or//

var currentdate = new Date(); 
var datetime =  currentdate.getDate() + "/"
                + (currentdate.getMonth()+1)  + "/" 
                + currentdate.getFullYear() + " @ "  
                + currentdate.getHours() + ":"  
                + currentdate.getMinutes() + ":" 
                + currentdate.getSeconds();

##它正在工作##

我用力矩解决了这个问题。在lib文件夹中添加momente.min.js文件,然后

     $scope.strtime = moment(str_date,"YYYYMMDDHHmmZ").format("HH");

我只需要一个小时,如果你想要任何其他格式,你可以改变

我建议您使用
moment.js
我不确定它为什么会工作,但只使用Date(str_Date)而不使用new is working您可以试试我使用了这个moment-angular-momentjs.js,而且我得到了无效的日期错误,代码-$scope.strtime=$moment(value.time).format('YYYY-MM-DD');我有来自服务器的时间戳。我没有格式化本地时间,我可以确认。你的代码不起作用。如果您像这样传递Alexander提供的字符串:
newdate('201804122359+0530')
您会得到一个错误
无效日期
。new Date()未正确格式化该类型的字符串。