常用时间格式与PHP时间格式相互转换
例如有常用时间格式 yyyy-mm-dd HH:ii:ss,如何转换成PHP中date函数可使用的时间格式呢?
使用 PHPTimeFormatFromCommon() 可以把通用时间格式转换成PHP时间格式
PHPTimeFormatFromCommon("yyyy-mm-dd HH:ii:ss") => "Y-m-d H:i:s"
使用 PHPTimeFormatToCommon() 可以把PHP时间格式转换成通用时间格式
PHPTimeFormatToCommon("Y-m-d H:i:s") => "yyyy-mm-dd HH:ii:ss"
例如:
echo gmdate(PHPTimeFormatFromCommon("yyyy-mm-dd HH:ii:ss A DD"), time() + 8 * 3600);
结果:
2010-04-10 11:11:54 AM Saturday
具体使用说明请看代码中的注释,有详细说明。
/* PHP Time Formatting FunctionsAuthor: Fenying Version: 1.0.0.1
Time: 2010-04-10 CopyRight: All CopyRight Fenying Studio 2007-2010 Reserved.
*/ $DS_TIME_TimeSign = array(
array("yyyy","<#0x01#>","Y"),
array("yy","<#0x02#>","y"),
array("MM","<#0x03#>","F"),
array("mm","<#0x04#>","m"),
array("M","<#0x05#>","M"),
array("m","<#0x06#>","n"),
array("t","<#0x07#>","t"),
array("dd","<#0x08#>","d"),
array("d","<#0x09#>","j"),
array("DD","<#0x10#>","l"),
array("D","<#0x11#>","jS"),
array("z","<#0x12#>","z"),
array("W","<#0x13#>","W"),
array("HH","<#0x14#>","H"),
array("hh","<#0x15#>","h"),
array("H","<#0x16#>","G"),
array("h","<#0x17#>","g"),
array("ii","<#0x18#>","i"),
array("ss","<#0x19#>","s"),
array("c","<#0x20#>","c"),
array("r","<#0x21#>","r"),
array("a","<#0x22#>","a"),
array("A","<#0x23#>","A")
);
$DS_TIME_SpecialChars = array(
"d","D","j","l","N","S","w","z",
"W","F","m","M","n","t","L","o",
"Y","y","a","A","B","g","G","h",
"H","i","s","e","I","O","T","Z",
"c","r","U"
);
/*
yyyy = 四位数年份
yy = 两位数年份
MM = 月份,英文完整单词
mm = 月份,数字,自动补0
M = 月份,英文缩写单词
m = 月份,数字,不补0
t = 月份天数,数字
dd = 日期,数字,自动补0
d = 日期,数字,不补0
DD = 星期,完整单词
D = 日期,数字,带st、nd、rd或th后缀
z = 天,数字,表示本年第几天
W = 周,数字,表示本年第几周
a = am或pm
A = AM或PM
HH = 小时,数字,24小时制,自动补0
hh = 小时,数字,12小时制,自动补0
H = 小时,数字,24小时制,不补0
h = 小时,数字,12小时制,不补0
ii = 分钟,数字,自动补0
ss = 秒钟,数字,自动补0
c = ISO 8601 格式的日期
r = RFC 822 格式的日期
*/
function PHPTimeFormatFromCommon($TimeFormat)
{
global $DS_TIME_TimeSign,$DS_TIME_SpecialChars;
foreach ($DS_TIME_TimeSignas $Item)
$TimeFormat = str_replace($Item[0],$Item[1],$TimeFormat);
foreach ($DS_TIME_SpecialCharsas $Item)
$TimeFormat = str_replace($Item,"//".$Item,$TimeFormat);
foreach ($DS_TIME_TimeSignas $Item)
$TimeFormat = str_replace($Item[1],$Item[2],$TimeFormat);
return $TimeFormat;
}
function PHPTimeFormatToCommon($TimeFormat)
{
global $DS_TIME_TimeSign,$DS_TIME_SpecialChars;
foreach ($DS_TIME_TimeSignas $Item)
$TimeFormat = str_replace($Item[2],$Item[1],$TimeFormat);
foreach ($DS_TIME_SpecialCharsas $Item)
$TimeFormat = str_replace("//".$Item,$Item, $TimeFormat);
foreach ($DS_TIME_TimeSignas $Item)
$TimeFormat = str_replace($Item[1],$Item[0],$TimeFormat);
return $TimeFormat;
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: php 时间转换 完整格式
- 下一篇: PHP日期格式转时间戳