default
menu home
图标库 注册 登录 favorite_border message help_outline
在线笔记 - 人性化网络收藏夹

php/javascript的一些关于时间处理的函数

style分类标签: 全部 CSS html javascript php/other IT
by: fanshome  2023-06-02 14:05(UTC)

记录一些经常用到的时间处理函数以备用。

php/othercontent_copy复制代码
php:

格式化输出服务器时间,比如:"2008-08-08 12:00:00"
date("Y-m-d H:i:s");

echo "时间格式1:".date("Y-m-d H:i:s ")."<br>";// 2010-06-12 10:26:31  
echo "时间格式2:".date("y-M-D h:i:S ")."<br>";// 10-Jun-Sat 10:43:th  
echo "月份,英文全名:".date("F")."<br>";// June  
echo "月份,二位数字,补零:".date("m")."<br>";//  06 
echo "月份,二位数字,不补零:".date("n")."<br>";//  6 
echo "月份,三个英文:".date("M")."<br>";// Jun 
echo "星期几,英文全名:".date("l")."<br>";// Saturday 
echo "星期几,三个英文:".date("D")."<br>";// Sat 
echo "星期几,数字型:".date("w")."<br>";// 6 

Y - 年,四位数字; 如: "1999"
y - 年,二位数字; 如: "99"
z - 一年中的第几天; 如: "0" 至 "365"
F - 月份,英文全名; 如: "January"
m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12"
n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12"
M - 月份,三个英文字母; 如: "Jan"
t - 指定月份的天数; 如: "28" 至 "31"
d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31"
j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31"
h - 12 小时制的小时; 如: "01" 至 "12"
H - 24 小时制的小时; 如: "00" 至 "23"
g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12"
G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23"
i - 分钟; 如: "00" 至 "59"
s - 秒; 如: "00" 至 "59"
S - 字尾加英文序数,二个英文字母; 如: "th","nd"
U - 总秒数
D - 星期几,三个英文字母; 如: "Fri"
l - 星期几,英文全名; 如: "Friday"
w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六)
a - "am" 或是 "pm"
A - "AM" 或是 "PM" 

字符串形式时间转UNIX时间戳(单位:秒)
strtotime("2008-05-19 18:05:20");
strtotime("2020-02-10");
strtotime("now");
strtotime("15 October 1980");
strtotime("+5 hours");
strtotime("+1 week");
strtotime("+1 week 3 days 7 hours 5 seconds");
strtotime("next Monday");
strtotime("last Sunday");

服务器当前UNIX时间戳(单位:秒)
time();

计算星期几,返回0-6,星期日为0,参数$date格式为:2008-08-08
function GetWeekDay($date){
	$dateArr = explode("-", $date);
	return date("w", mktime(0,0,0,$dateArr[1],$dateArr[2],$dateArr[0]));
}

北京时间和UTC互转 UTC(Coodinated Universal Time),协调世界时,又称世界统一时间、世界标准时间、国际协调时间。
function UTCtoBJ($dateTime){
	return date("Y-m-d H:i:s", (strtotime($dateTime) + 8*3600));
}
function BJtoUTC($dateTime){
	return date("Y-m-d H:i:s", (strtotime($dateTime) - 8*3600));
}


Javascript:

本机当前时间戳(单位:毫秒)
var d = new Date();
console.log(d.getTime());


不同地区日期表达形式转换
var date = new Date();
//英国习惯,如:"Fri, 19 May 2023"
var DateEn=new Intl.DateTimeFormat('en-GB', weekday:'short',day:'numeric',month:'short',year:'numeric'}).format(date);
//中国习惯,如:"2023年5月19日 星期五"
var DateCn=new Intl.DateTimeFormat('zh-CN',{weekday:'short',day:'numeric',month:'long',year:'numeric'}).format(date);
DateCn=DateCn.replace("周","&nbsp;星期");


visibility 1000


- 重度网络用户必备 在线笔记
adimg
logo 发表评论

captcha
请正确填写验证码
取 消