zoukankan      html  css  js  c++  java
  • smarty变量调节器--date_format[格式化日期]

    本调节器将格式化的日期和时间经php函数strftime()处理。Unix时间戳、mysql时间戳及由年月日组成的字符串格式的日期可以传递到smarty经php函数strtotime()解析。设计者可以使用date_format完全控制日期格式,如果传给date_format的日期为空值,但提供了第二个参数,那么将使用第二参数格式化时间。  

    参数位置类型是否必须默认描述
    1 string No %b %e, %Y 输出日期的格式。
    2 string No n/a 输入为空时,作为默认时间。

    从Smarty-2.6.10开始,传递给date_format的数字值(除了mysql时间戳,见下文)总是当作unix时间戳。
    在2.6.10版本之前,符合时间戳格式的数字型字符串(如YYYYMMDD)同样可以经由php函数strtotime()处理,因为有时(取决于strtotime()的底层实现)strtotime()接收日期字符串参数,而不是时间戳。
    唯一的例外是mysql时间戳:它们本身只有数字,并且是14个字符的长度(YYYYMMDDHHMMSS),mysql时间戳优先于unix时间戳。

    date_format本质上是php的strftime()函数的一个包装。当php被编译的时候你可以或多或少的依靠系统的strftime()转换有效的标记,可以查看系统手册的有效的转换标记列表。但是,有少量标记是模仿windows的,这些标记是: %D、%e、%h、%l、%n、%r、%R、%t、%T。

    Example 5-8. date_format[日期格式]

    <?php
    $config['date'] = '%I:%M %p';
    $config['time'] = '%H:%M:%S';
    $smarty->assign('config', $config);
    $smarty->assign('yesterday', strtotime('-1 day'));
    ?>

    This template uses $smarty.now to get the current time:
    {$smarty.now|date_format}
    {$smarty.now|date_format:"%D"}
    {$smarty.now|date_format:$config.date}
    {$yesterday|date_format}
    {$yesterday|date_format:"%A, %B %e, %Y"}
    {$yesterday|date_format:$config.time}

    This above will output:

    Jan 1, 2022
    01/01/22
    02:33 pm
    Dec 31, 2021
    Monday, December 1, 2021
    14:33:00

    date_format转换标记:

      • %a - 当前区域星期几的简写
      • %A - 当前区域星期几的全称
      • %b - 当前区域月份的简写
      • %B - 当前区域月份的全称
      • %c - 当前区域首选的日期时间表达
      • %C - 世纪值(年份除以 100 后取整,范围从 00 到 99)
      • %d - 月份中的第几天,十进制数字(范围从 01 到 31)
      • %D - 和 %m/%d/%y 一样
      • %e - 月份中的第几天,十进制数字,一位的数字前会加上一个空格(范围从 ' 1' 到 '31')
      • %g - 和 %G 一样,但是没有世纪
      • %G - 4 位数的年份,符合 ISO 星期数(参见 %V)。和 %V 的格式和值一样,只除了如果 ISO 星期数属于前一年或者后一年,则使用那一年。
      • %h - 和 %b 一样
      • %H - 24 小时制的十进制小时数(范围从 00 到 23)
      • %I - 12 小时制的十进制小时数(范围从 00 到 12)
      • %j - 年份中的第几天,十进制数(范围从 001 到 366)
      • %m - 十进制月份(范围从 01 到 12)
      • %M - 十进制分钟数
      • %n - 换行符
      • %p - 根据给定的时间值为 `am' 或 `pm',或者当前区域设置中的相应字符串
      • %r - 用 a.m. 和 p.m. 符号的时间
      • %R - 24 小时符号的时间
      • %S - 十进制秒数
      • %t - 制表符
      • %T - 当前时间,和 %H:%M:%S 一样
      • %u - 星期几的十进制数表达 [1,7],1 表示星期一
      • %U - 本年的第几周,从第一周的第一个星期天作为第一天开始
      • %V - 本年第几周的 ISO 8601:1988 格式,范围从 01 到 53,第 1 周是本年第一个至少还有 4 天的星期,星期一作为每周的第一天。(用 %G 或者 %g 作为指定时间戳相应周数的年份组成。)
      • %W - 本年的第几周数,从第一周的第一个星期一作为第一天开始
      • %w - 星期中的第几天,星期天为 0
      • %x - 当前区域首选的时间表示法,不包括时间
      • %X - 当前区域首选的时间表示法,不包括日期
      • %y - 没有世纪数的十进制年份(范围从 00 到 99)
      • %Y - 包括世纪数的十进制年份
      • %Z 或 %z - 时区名或缩写
      • %% - 文字上的 `%' 字符
    只有想不到,没有做不到!!!
    鸿鹄IT网络学院
  • 相关阅读:
    VisualSVN-Server windows 版安装时报错 "Service 'VisualSVN Server' failed to start. Please check VisualSVN Server log in Event Viewer for more details."
    Pytest 单元测试框架之初始化和清除环境
    Pytest 单元测试框架入门
    Python(email 邮件收发)
    Python(minidom 模块)
    Python(csv 模块)
    禅道简介
    2020年最好的WooCommerce主题
    Shopify网上开店教程(2020版)
    WooCommerce VS Magento 2020:哪个跨境电商自建站软件更好?
  • 原文地址:https://www.cnblogs.com/zhongbin/p/3183971.html
Copyright © 2011-2022 走看看