Skip to main content Link Search Menu Expand Document (external link)

Custom - Hàm: ago

Hàm này được viết bởi macro, trả về khoảng thời gian trước đó hoặc mốc thời gian cụ thể. Đây là một ứng dụng của hàm date().

Cú pháp hàm date:

TWIG
timestamp|date(format, time_zone)


Trong đó:
- timestamp: một số nguyên UnixTime.
- format: định dạng thời gian mà hàm sẽ trả về
- time_zone: múi giờ

Để lấy UnixTime ở hiện tại, ta lấy timestamp chính bằng 'now', ví dụ:
TWIG
{{'now'|date('U')}}


Áp dụng:
TWIG
{% macro ago(time_ago) %}
{% spaceless %}
{% set now = 'now'|date('U')-1160 %}
{% set time_ago = time_ago|date('U')-1160 %}
{% set timeht=now|date('U', 'Asia/Ho_Chi_Minh') %}
{% set time = time_ago|date('U', 'Asia/Ho_Chi_Minh') %}
{% set time_giay = timeht - time %}
{% set time_phut = (time_giay / 60 )|round(0,'floor') %}
{% set time_day = timeht|date('z', 'Asia/Ho_Chi_Minh')-time|date('z', 'Asia/Ho_Chi_Minh') %}
{% set fulltime = time_ago|date('d.m.Y - H:i', 'Asia/Ho_Chi_Minh') %}
{% set minitime = time_ago|date('H:i', 'Asia/Ho_Chi_Minh') %}
{% if time_day == 0 %}
{% if time_giay <= 60 %}
{{' '~time_giay~' giây trước'}}
{% elseif time_phut <= 60 %}
{{' '~time_phut~' phút trước'}}
{% else %}
{{' Hôm nay, '~minitime}}
{% endif %}
{% elseif time_day == 1 %}
{{' Hôm qua, '~minitime}}
{% else %}
{{' '~fulltime}}
{% endif %}
{% endspaceless %}
{% endmacro %}

Chia sẻ



QRcode
QRcode