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网络学院
  • 相关阅读:
    LeetCode> 989. 数组形式的整数加法
    Java> Java核心卷读书笔记
    npx是干嘛的
    typescript教程
    http Get 发送body数据
    59. 螺旋矩阵 II
    使用静态代理模式实现公用的报表导出功能
    win10更新后 sqlserver客户端连接一段时间后报错 CryptUnprotectData: Win32 错误:-2146893813 (Microsoft.SqlServer.RegSvrEnum)或该项不适用于在指定状态下使用
    Docker Compose-Window
    Docker的容器使用与连接-Window
  • 原文地址:https://www.cnblogs.com/zhongbin/p/3183971.html
Copyright © 2011-2022 走看看