javascript - ng-model 传递的 Javascript 日期格式问题

标签 javascript angularjs date

我是 AngularJS 的新手,正在为一个看似简单的问题而苦苦挣扎。通过 ng-model 输入到 ng-controller 的日期值在 IE (v8/9/10) 和 Chrome 之间读取不同(见下文)。这种不一致使得很难编写代码来处理服务器端的日期 (Python)。

我怎样才能使它保持一致? (最好是 IE 格式,因为“GMT-0700(太平洋夏令时)”不容易在服务器上解析为日期时间。提前致谢。

HTML:

<div id="td_date"  ><datepicker type="text" id="newdate" ng-model="data.date" name="date" bs-datepicker ></div>
Selected date: {{data.date}}  -----> **This prints 2014-09-21T07:10:45.117Z in both browsers**

JS:

function ($scope, $log, data) {

   $log.info('date ='+ data.date);    ----> **This prints 'Sat Sep 21 00:10:45 PDT 2014' in IE 
                       but 'Sun Sep 21 2014 00:10:45 GMT-0700 (Pacific Daylight Time)' in Chrome**
}; 

最佳答案

当您提交表单时,检查输入并检查日期对象并将日期格式化为您喜欢的格式:) 这样您就可以在后端以准确的格式获取日期

    if($scope.data.date instanceof Date) {
        $scope.data.date  = $filter('date')($scope.data.date , "yyyy-MM-dd"); // filter to a format u like
    }

如果您的表单位于 data 对象中,例如 data.date,'data.userName'... 您可以按如下方式使用它 提交表单时,

for (key in $scope.data) {
    $scope.data[key] instanceof Date) {
        $scope.data[key] = $filter('date')($scope.data[key], "yyyy-MM-dd"); // filter to a format u like
    }
}

这是 angularjs 中日期过滤器的 API https://docs.angularjs.org/api/ng/filter/date

关于javascript - ng-model 传递的 Javascript 日期格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25956863/

相关文章:

android - 需要在没有时间的情况下将日期放入 Parse.com 的方法,相反

javascript - 通过全局变量 react 互斥体

javascript - 带阿尔伯斯投影的 D3.js map : How to rotate it?

spring - 如何获取登录用户的用户信息 SpringSecurity + AngularJS

来自字符串的 Javascript 日期提供从 Chrome 到 Firefox 的不同输出

mysql - MySQL如何获取两个日期相差的天数?

javascript - 如何编写一个 JS 函数来在 <li> 类中查找 img 并将该图像作为 li 的 css 中的背景图像值?

javascript - jQuery 选择器 :not(:animated)

javascript - 仅显示一个属性对象 - 在许多属性 objec 中,其中对象被包装在数组中

AngularJS - 无需 Controller 即可访问模型属性