我已经使用此代码将日期js对象序列化为字符串
但是对于April 12th
日期,它已翻译为April 11t
。
self.dateToString = function (date) {
return (date === null || !(date instanceof Date)) ? null : date.toISOString().slice(0, 10);
//return (date === null || !(date instanceof Date)) ? null : dateFormat(date, "dd mmmm yyyy");
}
我该如何解决这个问题?
答案 0 :(得分:0)
首先设置timezone = UTC然后 只需通过传递日期 -
即可向控制器添加功能function dateToString (date){
var d = new Date(date),
month = '' + (d.getMonth() + 1),
day = '' + d.getDate(),
year = d.getFullYear();
if (month.length < 2) month = '0' + month;
if (day.length < 2) day = '0' + day;
return [year, month, day].join('-');
}
它将返回日期..
它对我有用:)
答案 1 :(得分:0)
您正在使用Angular和Angular有一个很好的小过滤器,可以很好地解析JavaScript日期。
(function() {
'use strict';
angular.module('myApp', []);
angular.module('myApp').controller('MyController', MyController);
MyController.$inject = ['$filter'];
function MyController($filter) {
var vm = this;
vm.doMagic = function() {
return vm.dateToString(new Date("04/12/2017"));
}
vm.dateToString = function (date) {
return (date === null || !(date instanceof Date)) ? null : $filter("date")(date, "dd MMMM yyyy");
}
}
}());
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.3/angular.min.js"></script>
<html>
<body ng-app="myApp">
<div ng-controller="MyController as main">
{{main.doMagic()}}
</div>
</body>
</html>
&#13;