php - 获取剩余天数、小时数、分钟数和秒数
问题描述
我正在使用 Drupal 8 并尝试获取启动事件的剩余时间。我有未来的约会。
当我这样做{{content.field_event_start_date_time }}
时输出:
Thu, 05/20/2021 - 12:00 which is my start date of the event
现在,我使用以下代码来计算无效的天数差异:
{# endDate and startDate are strings or DateTime objects #}
{% set difference = date({{content.field_event_start_date_time }}).diff(date(startDate)) %}
{% set leftDays = difference.days %}
{% if leftDays == 1 %}
1 day
{% else %}
{{ leftDays }} days
{% endif %}
任何想法我怎样才能得到天,小时,分钟和秒?
解决方案
不要在视图层中包含太多逻辑。它使代码的可读性降低。视图应该主要接收在 Drupal 的钩子系统中计算的变量。
我建议使用hook_preprocess_HOOK()
, 并在那里计算日期。
例如,在您的主题文件中:
function hook_preprocess_YOUR_VIEW_NAME(&$variables) {
$variables['my_date'] = // ... calculate your date
}
推荐阅读
- javascript - 映射数组时调用promise
- c# - 如何用同一个按钮控制两个图像?
- php - 如何使用 Laravel Eloquent 获取最大值 + 其他列
- css - 如何将图像添加到自定义复选框的背面
- string - 如何存储大字符串文字以与格式宏一起使用而不会乱扔代码?
- python - django-pyodbc:我的旧机器上的 odbc 驱动程序工作但现在我收到一个错误,说我的驱动程序“不支持现代数据时间类型”
- powershell - 如何复制文件列表并在 PowerShell 循环中重命名它们
- ruby-on-rails - TinyMCE:Capybara::ElementNotFound:找不到可见框架“content_ifr”
- android - 使用 TextWatcher 时退格无法正常工作
- for-loop - 迭代并添加到 RxSwift 中的数组