【问题标题】:HTML5 input date to T-Sql date with AngularJS使用AngularJS将HTML5输入日期到T-Sql日期
【发布时间】:2018-01-23 19:44:36
【问题描述】:

我正在尝试从我的 HTML 5 表单转换日期:

<form ng-submit="Add()">
  <input type="text" ng-model="Data.title" />
  <input type="date" ng-model="Data.date"/>
</form>

我的 Azure T-Sql 数据库 - 日期 - 需要以下内容:

2018-01-23T18:18:43.768Z

但它来自表单:

Wed Jan 17 2018 00:00:00 GMT+0100 (W. Europe Standard Time)

如何将 html5 输入日期转换为正确格式,以便提交表单

    $scope.Add = function () {

        var request = 'additem';

        var Date = $scope.Data.date;

        $http({
            method: 'POST',
            url: uri + request,
            headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
            data: 
            $.param({
                title: $scope.Data.title,
                date: $scope.Data.date

            })
        }).success(function (data, status, headers, config) {

        })
    };

我应该如何转换日期以便数据库除了表单,如果我将日期部分更改为字符串,它工作得很好。

【问题讨论】:

    标签: javascript angularjs html azure date


    【解决方案1】:

    你可以试试这样的:

    function formatDate(d) {
    
       return new Date(
          Date.UTC(
            d.getFullYear(),
            d.getMonth(),
            d.getDate(),
            d.getHours(),
            d.getMinutes(),
            d.getSeconds()
         )
       ).toISOString();
    }
    

    但是,如果本地时间与 UTC 相差很大,您可能需要注意不一致之处。您可能会发现日期可以显示为前一天。

    如果您不介意将库用于次要任务,您也可以查看 Moment.js。它可以非常轻松地进行很多日期转换。

    【讨论】:

      猜你喜欢
      • 2011-12-20
      • 2017-07-17
      • 1970-01-01
      • 2015-09-27
      • 2013-02-19
      • 1970-01-01
      • 2015-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多