AngularJS-日期未在IE8中转换
AngularJS - dates not converting in IE8
我有一个变量,它包含epoch格式的日期:
var myDate = "1385923147000";
我可以使用在最新的FF、Chrome和IE10+中轻松转换
myDate = new Date($filter('date')(myDate, 'yyyy-MM-dd'));
myDate.setHours(0,0,0,0);
console.log(myDate);
显示为:
Sun Dec 01 2013 00:00:00 GMT+0000 (GMT Standard Time)
这在FF、Chrome和IE10+中很好,但在IE8中,整个控制台.log转换没有执行,这导致我的应用程序失败。
如何以IE8+友好的方式进行转换??
请参阅下面的
基于这里的答案Date构造函数在IE中返回NaN,但在Firefox和Chrome 中有效
你可以让它像下面这样工作:
var app = angular.module('app', []);
app.controller('homeCtrl', function($scope, $log, $filter) {
function parseISO8601(dateStringInRange)
{
var isoExp = /^'s*('d{4})-('d'd)-('d'd)'s*$/,
date = new Date(NaN), month,
parts = isoExp.exec(dateStringInRange);
if (parts) {
month = +parts[2];
date.setFullYear(parts[1], month - 1, parts[3]);
if (month != date.getMonth() + 1) {
date.setTime(NaN);
}
}
return date;
}
var myDate = "1385923147000";
myDate = ($filter('date')(myDate, 'yyyy-MM-dd'));
$scope.myDate = parseISO8601(myDate);
$scope.myDate.setHours(0, 0, 0, 0);
console.log($scope.myDate);
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app">
<div ng-controller="homeCtrl">
Date : {{myDate}}
</div>
</div>
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- 如何在Javascript中将JSon对象转换为数组
- 使用JS将数组转换为json对象
- Recaptcha在IE7和IE8中不起作用
- 如何使用json将对象列表从java转换为javascript
- 偶尔结结巴巴地说“;堆叠的”;translate()上的转换(v4.0.0-alpha40)
- 为什么在单独的函数中应用时转换会闪烁/断断续续(D3)
- 在Javascript中转换对象数组
- 将数字转换为一定数量的硬币
- 将纯文本URL转换为可单击链接
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 悬停时IE8转换
- 将JSON对象转换为敲除observable在IE8中不起作用,但在所有其他浏览器中都起作用
- 在JavaScript IE8中将图像转换为字节代码
- id的对象在IE8(WinXP)中转换为js变量
- addEventListener 给出 IE8 问题.是否可以将我的JavaScript转换为jQuery
- AngularJS-日期未在IE8中转换
- 尝试使用Javascript将字符串转换为对象,但在ie8中出现语法错误
- Javascript +日期转换在IE8和Safari
- 如何使用CSS3转换整个页面,并支持IE8, IE9