【问题标题】:Get time from datetime format从日期时间格式获取时间
【发布时间】:2016-06-29 16:14:53
【问题描述】:

我从后端获取此日期格式:1970-01-01T10:59:00Z

如何使用 JavaScript 从中获取时间并将其放入此输入中:

<input type="time" ng-model='content.time' />

感谢您的帮助!

【问题讨论】:

  • 您的控制器 javascript 是否有从“后端”获取日期的代码?

标签: javascript angularjs datetime time


【解决方案1】:

您可以使用getHours()getMinutes()getSeconds() 函数并连接这些值。

var result = document.getElementById("result");

var dateTime = new Date();
var hours = new Date().getHours();
var minutes = new Date().getMinutes();
var seconds = new Date().getSeconds();

result.innerHTML = hours + ":" + minutes + ":" + seconds;
&lt;p id="result"&gt;&lt;/p&gt;

【讨论】:

    【解决方案2】:
    var date = new Date($scope.content.time);
    var converted = date.getHours() + ":" + date.getMinutes();
    console.log(converted);
    

    【讨论】:

      【解决方案3】:

      这可能会对您有所帮助:

      var dt = new Date(); var tm = dt.getUTCHours();

      对于 UTC。

      你也可以使用:

      新的 dt.getHours()

      新的 dt.getMinutes()

      【讨论】:

        【解决方案4】:

        var date = new Date("1970-01-01T10:59:00Z");
        var converted = date.toLocaleString();
        console.log(converted);

        然后您只需将转换后的值分配给模型。

        【讨论】:

          【解决方案5】:

          在您的控制器 js 中使用 Angular,而不仅仅是普通的 javascript/DOM 操作:

          var dateTime=<referenceToDataRetrievedFromBackEnd>;
          /*Format the date you've retrieved*/
          var hours = new Date().getHours();
          var minutes = new Date().getMinutes();
          var seconds = new Date().getSeconds();
          var formattedTimeString=hours + ":" + minutes + ":" + seconds
          
          /*This is the part that actual ties the retrieved and reformatted data to the view*/
          $scope.content.time=formattedTimeString;
          

          【讨论】:

            【解决方案6】:

            在你的控制器中添加这个函数

            var parseDateTime = function (input) {
                vars = input.split('T');
                date = vars[0].split('-');
                time = vars[1].split(':');
                //return date in 'yyyy-MM-dd H:i:s'
                return date[0] + '-' + date[1] + '-' + date[2] + ' ' + time[0] + ':' + time[1] + ':00';
            }
            

            然后你可以用你的日期时间来使用它

            var dateTime = DATE_RECEIVED_FROM_BACKEND;
            $scope.content.time = parseDateTime(dateTime);
            

            希望这会有所帮助:)

            【讨论】:

              【解决方案7】:

              将此代码放置在您从后端接收数据之后的控制器中

              var d = new Date("1970-01-01T10:59:09Z");//pass the object which have ur date
              
              $scope.content.time=d.getHours() + ":" + d.getMinutes()+":"+ d.getSeconds();
              

              【讨论】:

                猜你喜欢
                • 2020-06-02
                • 1970-01-01
                • 1970-01-01
                • 2019-05-02
                • 2019-04-02
                • 2017-02-03
                • 2011-12-14
                • 2016-03-25
                • 1970-01-01
                相关资源
                最近更新 更多