这篇文章主要介绍了php如何将时间戳格式化为星期几的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何将时间戳格式化为星期几文章都会有所收获,下面我们一起来看看吧。
一、时间戳
时间戳是指格林威治时间1970年1月1日00:00:00到现在的秒数。由于这个时间点是一个伟大的历史时刻,所以被选中作为计算机中的时间起点。在php中,使用time()函数可以获取当前的时间戳,如下所示:
$timestamp = time(); echo $timestamp; // 输出当前时间戳
而对于指定时间的时间戳,则可以使用strtotime()函数进行计算,如下所示:
$timestamp = strtotime('2022-01-01 00:00:00'); echo $timestamp; // 输出指定时间的时间戳
二、将时间戳转换为日期和星期几
在php中,可以使用date()函数将时间戳转换为指定的日期格式。该函数的参数包括两部分:格式化字符串和时间戳。其中,格式化字符串用于定义日期的输出格式,常用的格式化字符如下:
格式化字符 | 说明 |
---|---|
Y | 年,四位数字 |
m | 月,两位数字,带前导零 |
d | 日,两位数字,带前导零 |
H | 时,24小时制,两位数字 |
i | 分,两位数字,带前导零 |
s | 秒,两位数字,带前导零 |
例如,假设有一个时间戳为1642156800,表示2022年1月14日0时0分0秒,想要将其转换为2022年01月14日 星期五的格式,可以使用以下代码:
$timestamp = 1642156800; $date = date('Y年m月d日 星期', $timestamp); $weekday = date('N', $timestamp); //获取星期几 echo $date . $weekday; //输出形如2022年01月14日 星期五
其中,第二行的日期格式化字符串中,星期字符使用了大写字母N,表示输出星期几的数字形式(1为星期一、2为星期二、依此类推),而第三行的$weekday变量则是获取了时间戳对应的星期几数字。
三、将星期几转换为日期
除了将时间戳转换为星期几外,有时候也需要将星期几转换为对应的日期。在php中,也可以使用strtotime()函数实现这一转换。
具体来说,可以先确定某个日期对应的星期几,然后再通过类似“下周一”、“上周三”等的描述,计算得到对应的日期。例如,以下代码可以获取当前日期所在周的周一和周日:
$weekday = date('N'); // 获取当前星期几,数字形式 if ($weekday == 1) { // 如果是周一 $monday = date('Y-m-d'); // 当天就是周一 } else { // 否则 $monday = date('Y-m-d', strtotime('last Monday')); // 上周一 } $sunday = date('Y-m-d', strtotime('next Sunday')); // 下周日 echo $monday . ' ~ ' . $sunday; // 输出本周一和周日日期范围
在上述代码中,第二行获取了当前日期对应的星期几,第4-7行通过判断当前是不是周一,从而确定本周的周一是当天还是上周,最后一行输出了本周一和下周日的日期范围。