php时间格式化

2021-10-30
$formats = [
    'd/j', // 月份中的第几天,有/无前导0
    'D/l', // 星期中的第几天,英文简写/全写
    'w', // 星期中的第几天 0(星期天)到 6(星期六)
    'N', // ISO-8601格式数字表示的星期中的第几天 1-7
    'z', // 年份中的第几天 0-365
    'S', // 每月天数后面的英文后缀,2个字符 
    'W', // 年份中的第几周
    'M/F', // 月份,英文简写/全写
    'm/n', // 月份,有/无前导0
    't', // 月份的天数
    'L', // 是否为闰年 1/0
    'o', // ISO-8601 格式年份,与Y相同,除了如果 ISO 的星期数(W)属于前一年或下一年,则用那一年
    'Y/y', // 年份 4位/2位
    'a/A', // 上午和下午值,小写/大写
    'h/g', // 12小时格式,有/无前导0
    'H/G', // 24小时格式,有/无前导0
    'i', // 分钟数,有前导0
    's', // 秒数,有前导0
    'u', // 毫秒,总是000000
    'e', // 时区标识
    'I', // 是否为夏令时 1/0
    'O', // 与格林威治时间相差的小时数
    'P', // 与格林威治时间(GMT)的差别,小时和分钟之间有冒号分隔
    'T', // 本机所在的时区
    'Z', // 时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的
    'c', // ISO 8601 格式的日期
    'r', // RFC 822 格式的日期
    'U', // 从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数,类似time()
];

// 格式化时间
// 将时间戳$timestamp根据$format格式化为日期时间字符串,$timestamp默认为当前时间戳
date($format, $timestamp = time());

// 将时间戳$timestamp根据$format格式化为日期时间字符串,$timestamp默认为当前时间戳;时间是格林威治标准时
gmdate($format, $timestamp = time());

$formats = [
    'B' => '互联网时间',
    'b' => '月份中的第几天',
    'h' => '小时(12 小时格式)',
    'H' => '小时(24 小时格式)',
    'i' => '分钟',
    'I' => '如果启用夏时制则返回 1,否则返回 0',
    'L' => '如果是闰年则返回 1,否则返回 0',
    'm' => '月份的数字',
    's' => '秒数',
    't' => '本月的总天数',
    'U' => '时间戳,类似time()',
    'w' => '星期中的第几天(星期天是 0)',
    'W' => 'ISO-8601 格式年份中的第几个星期,每星期从星期一开始',
    'y' => '年份(1或2位数字)',
    'Y' => '年份(4 位数字)',
    'z' => '年份中的第几天',
    'Z' => '以秒为单位的时区偏移量',
];

// 将时间戳$timestamp根据$format格式化为日期时间字符串,$timestamp默认为当前时间戳;时间是格林威治标准时
idate($format, $timestamp = time());

// 将时间戳$now转换为指定格式$datetime的日期时间字符串
strtotime($datetime, $now = time());

 

{/if}