【问题标题】:Get date from datetime string in angularJs?从angularJs中的日期时间字符串获取日期?
【发布时间】:2015-05-11 14:31:10
【问题描述】:

如何编写过滤函数以从 angularjs 中的日期时间字符串中获取日期

我的日期字符串是

2015-03-17 00:00:00

我只想得到2015-03-17

我的代码是,

<span class="pull-right"> {{quotationDetails.quotation_date| date : "yyyy-MM-dd" : "'+0430'"}} </span>

但它不起作用,什么都不显示。它是如何解决的?

【问题讨论】:

    标签: javascript php jquery angularjs filter


    【解决方案1】:

    您可以通过以下更改获得所需的输出,日期格式和时区不需要双引号,而是仅将它们括在单引号中,如下例所示。

    <span class="pull-right"> {{quotationDetails.quotation_date| date : 'yyyy-MM-dd' : '+0430'}} </span>
    

    希望这能解决您的问题。

    【讨论】:

      【解决方案2】:

      先尝试解析quotation_date,试试这个:

      function Scoper($scope) {
          var string = "2015-03-17 00:00:00";
          $scope.quotationDetails = {
              dateNow: Date.now(),
              stringDate: string,
              quotationDate: Date.parse(string)
          }
      }
      

      这是工作示例:http://jsfiddle.net/rainercedric23/aubmfogv/4/

      【讨论】:

      • 我应该把这个函数放在哪里?或者我该如何调用?
      • 您的数据究竟是从哪里得到的?您可以创建另一个等于您的字符串 Date 的变量,例如 quotationDate= Date.parse(string) 请看我的小提琴,这样您就可以按照您想要的方式播放代码。
      • 我回答你的问题了吗?如果是,请采纳,谢谢!或者如果有不足就告诉我..
      • 未解决。我想将like用作过滤器。如何将此功能用作过滤器?
      • 如果您想要一个输入日期,那么它将充当该输入的过滤器?我说的对吗?
      【解决方案3】:

      您正在使用字符串。日期过滤器采用 日期对象毫秒(字符串或数字)或各种 ISO 8601 日期时间字符串格式(例如yyyy-MM-ddTHH:mm:ss.sssZ 及其较短的版本,如 yyyy-MM-ddTHH:mmZ、yyyy-MM-dd 或 yyyyMMddTHHmmssZ)。正如docs中指出的那样

      尝试将quotationDetails.quotation_date 设置为new Date('2015-03-17 00:00:00')

      这是working example

      【讨论】:

      • 如何在 ng-repeat 中使用 new Date 作为输入值?
      • @ShihabudheenMuhammed 你可以只使用 type="date" 作为你的输入字段。检查thisdocs 还有datetime 这是角度团队推荐的日期输入
      猜你喜欢
      • 2020-08-14
      • 2013-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多