PHP中对日期进行操作的几个常用函数如下:
data() 函数的语法如下:
string date ( string $format [, int $timestamp ] )
// 假定今天是:2019年1月21日
$today = date("Y-m-d H:i:s"); // 2019-01-21 18:52:18 (MySQL DATETIME 格式)
$today = date("F j, Y, g:i a"); // Jan 21, 2019, 6:52 pm
strtotime() 函数语法如下:
int strtotime ( string $time [, int $now = time() ] )
echo strtotime("now"), "\n"; // 现在时间戳
echo strtotime("21 January 2019"), "\n"; // 2019年1月21日时间戳
echo strtotime("+1 day"), "\n"; // 距离现在一天后的时间戳
echo strtotime("+10 year", 1616486754); // 获取某个日期十年后的时间
time() 获取当前Unix秒数时间戳,还可以使用 microtime() 获取当前 Unix 时间戳和微秒数,这个函数经常用来计算脚本运行的耗时
mixed microtime ([ bool $get_as_float ] )
如果调用时不带可选参数,本函数以 "msec sec" 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。字符串的两部分都是以秒为单位返回的。
使用 time() 函数,会获取当前时间的 Unix 时间戳,是一个10位的整数,表示自 Unix 纪元(1月1日 1970 00:00:00 GMT)起的当前时间的秒数。
使用 strtotime() 函数,可以将任何英文文本的日期或时间描述解析为 Unix 时间戳。失败则返回 FALSE。应该尽可能使用 YYYY-MM-DD 格式或者使用
使用 date() 函数,可以将时间戳按照指定的格式格式化为时间字符串
使用方法:
$time = time(); // 当前时间戳
var_dump($time); // int(1548068931)
$time_str = date('Y-m-d H:i:s', $time); // 将时间戳转化为相应的时间字符串
var_dump($time_str); // string(19) "2019-01-21 19:08:51"
$time_int = strtotime($time_str); // 将时间字符串转化为时间戳
var_dump($time_int); // int(1548068931)
获取那种基于某个时间一定时间段的时间的做法,可以使用 strtotime(),也可以 time() 获取当前时间然后加上或减去指定时间距离现在的偏移秒数。
友好时间显示:
if (!function_exists('word_time')) {
/**
* [word_time 传入时间戳,计算距离现在的时间]
* @param [type] $time [时间戳]
* @return [type] [返回计算出的时间]
*/
function word_time($time) {
$time = (int) substr($time, 0, 10);
$int = time() - $time;
$str = '';
if ($int <= 3600*24*7){
$str = '一周内';
}elseif ($int < 3600*24*30){
$str = '一月内';
}else{
$str = '一月前';
}
return $str;
}
}
获取当前月月初月末时间戳
$startTime = date('Y-m-01', $time); // 月初
$endTime = date('Y-m-') . date('t', $time); // 月末
<?php
$thisyear = date('Y');
$thismonth = date('m');
$startDay = $thisyear . '-' . $thismonth . '-01';
$endDay = $thisyear . '-' . $thismonth . '-' . date('t', strtotime($startDay));
$b_time = strtotime($startDay); // 当前月的月初时间戳
$e_time = strtotime($endDay); // 当前月的月末时间戳
$startTime = date('Y-m-01', strtotime('-1 month', $time)); // 上个月月初
$endTime = date('Y-m-', strtotime('+1 month', $time)) . date('t', strtotime('+1 month', $time)); // 下个月月末
友好时间可以根据自己需求进行修改,也可根据时间获取一些其他信息,如星座等
本文为冯奎原创文章,转载无需和我联系,但请注明来自冯奎博客fengkui.net
最新评论