【问题标题】:how to do date.toString while keeping the local date?如何在保持本地日期的同时执行 date.toString?
【发布时间】:2017-04-05 12:30:31
【问题描述】:

我已使用此代码将日期 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");
                }

我该如何解决这个问题?

【问题讨论】:

  • 可能确实是 UTC 时间的 4 月 11 日。但是您没有显示原始日期是什么(工具提示涵盖了日期的时间部分)。但这很可能是正确的。
  • 可能与您的浏览器时区有关吗?
  • @dfsq 我只想严格地输入日期,而不管时区如何。只是用户从日期选择器中选择的一个
  • 那么就不要使用toISOString了。您可以手动格式化。
  • @dfsq 你会怎么做?

标签: javascript angularjs string date


【解决方案1】:

首先设置时区 = 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('-');

}

它将返回日期..

它对我有用:)

【讨论】:

    【解决方案2】:

    你正在使用 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");
        }
      }
      
    }());
    <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>

    【讨论】:

      猜你喜欢
      • 2021-03-22
      • 1970-01-01
      • 2017-09-16
      • 2012-01-04
      • 1970-01-01
      • 2012-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多