如何不显示该字段没有时间的时间?

时间:2017-09-13 01:41:51

标签: angular datetime typescript

我使用以下代码

将HTML上的日期绑定
<p class="margin-right-3x">
    <i class="zmdi zmdi-calendar icon icon--white-icon "></i>
    {{event?.date.start | date:'EEEE, MMMM dd, yyyy, h:mm a'}}
</p>

如果数据库有时间日期,有时数据库没有与之关联的时间,看起来如下,

enter image description here

如果没有时间我怎么能省略时间?是否有管道或我如何检查这种情况?

1 个答案:

答案 0 :(得分:0)

您可以创建一个过滤器,检查给定日期的时间部分并相应地显示。我使用native Javascript Date方法做了这个。

HTML中的

{{ vm.giveDate | timeCheck }}
JS中的

.filter('timeCheck', function($filter) {
     return function (dateString) {
          let userDate = new Date(dateString);
          let UTCMinutes = userDate.getUTCMinutes();
          let UTCHours = userDate.getUTCHours();
          if(UTCMinutes === 0 && UTCHours === 0) {
             const options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
             let dateWithoutTime = userDate.toLocaleDateString('en-us', options);
             return dateWithoutTime;
          } else {
             const full_options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric', second: 'numeric' };
             let dateWithTime = userDate.toLocaleDateString('en-us', full_options);
             return dateWithTime;
           }
     };
 });

这是working DEMO

我的建议是使用moment.js;这会让你的生活变得轻松