非常全面的php日期时间运算汇总
这篇文章主要整理了关于php日期时间运算相关内容,涉及知识点较为全面,感兴趣的小伙伴们可以参考一下
实例讲解之前,先来介绍几个核心函数:
mktime 函数
mktime() 函数返回一个日期的 Unix 时间戳。
参数总是表示 GMT 日期,因此 is_dst 对结果没有影响。
参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。
语法:mktime(hour,minute,second,month,day,year,is_dst)
参数 描述
hour 可选。规定小时。
minute 可选。规定分钟。
second 可选。规定秒。
month 可选。规定用数字表示的月。
day 可选。规定天。
year 可选。规定年。在某些系统上,合法值介于 1901 - 2038 之间。不过在 PHP 5 中已经不存在这个限制了。
is_dst 可选。如果时间在日光节约时间(DST)期间,则设置为1,否则设置为0,若未知,则设置为-1。
自 5.1.0 起,is_dst 参数被废弃。因此应该使用新的时区处理特性。
例子:mktime() 函数对于日期运算和验证非常有用。它可以自动校正越界的输入:
输出:
Jan-05-2002 Feb-01-2002 Jan-01-2001 Jan-01-1999
strtotime 函数
strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。
语法:strtotime(time,now)
参数 描述
time 规定要解析的时间字符串。
now 用来计算返回值的时间戳。如果省略该参数,则使用当前时间。
一周之后: strtotime("+1 week") ;
一周之前: strtotime("-1 week") ;
一月之后: strtotime("+1 months") ;
一天之后: strtotime("+1 days") ;
30秒之后 strtotime( " +30 seconds " );
20分钟之后 strtotime( " +20 minutes " );
12个小时之后 strtotime( " +12 hours " );
date 函数
date() 函数格式化一个本地时间/日期。
语法
date(format,timestamp)
date_default_timezone_set 函数
date_default_timezone_set() 函数设置用在脚本中所有日期/时间函数的默认时区。
date_default_timezone_set(timezone)
实例
第一种情况是没有数据库,只是得到的日期值进行比较的话,那就得完全用php的时间日期函数计算了,如下:
比如要计算2015-9-5到2015-9-18还有多少天:
第二种 孩子的成长
***自出生($stime)以来…:
";
echo "今天是第".Lnbsp(daysofnow($stime),3)."天
";
echo "今天是第".Lnbsp(weeksofnow($stime),3)."周
";
echo "今天是第".Lnbsp(monthsofnow($stime),3)."个月
";
echo "今天是第".Lnbsp(yearsofnow($stime),3)."年
";
/*
$output=sprintf(" 今天是第%03d天
今天是第%03d周
今天是第%03d个月
今天是第%03d年
....
".date('w',$ntemp)."
";
return ($ntemp-$ftemp)/60/60/24/7;
}
function daysofnow($stime)
{
$ftime=strtotime($stime);
return ceil(abs((time()-$ftime)/(60*60*24)));
}
function monthsofnow($stime)
{
$ftime=strtotime($stime);
$fmonth=date('m',$ftime);
$fyear=date('Y',$ftime);
$nmonth=date('m');
$nyear=date('Y');
$result=($nyear-$fyear)*12+$nmonth-$fmonth+1;
return $result;
}
function yearsofnow($stime)
{
$ftime=strtotime($stime);
$fyear=date('Y',$ftime);
$nyear=date('Y');
return $nyear-$fyear+1;
}
// 下面的函数只是加空格用的,不是核心内容,只为美观
function Lnbsp($data,$num)
{
$result=trim($data);
for($i=$num;$i>=strlen($data);$i--) {
$result=' '.$result;
}
return $result;
}
?>
第三种 情况:明天,下个月和明年的日期,就可以用以下的代码:

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apabila menulis program dalam PHP, kita selalunya perlu menukar tarikh kepada cap masa, atau cap masa kepada tarikh. Proses ini sangat mudah dalam PHP dan boleh dicapai dengan mudah menggunakan hanya beberapa fungsi mudah. Dalam artikel ini, kami akan membincangkan cara menukar tarikh PHP kepada cap waktu, sambil turut membincangkan beberapa senario penggunaan biasa.

Kaedah penghakiman: 1. Gunakan pernyataan "strtotime("year-month-day")" untuk menukar tahun, bulan dan hari tertentu ke dalam format cap waktu 2. Gunakan penyataan "date("z", timestamp) 1" untuk hitung yang dinyatakan Cap masa ialah hari dalam setahun. Bilangan hari yang dikembalikan mengikut tarikh() dikira dari 0, jadi bilangan hari sebenar perlu ditambah kepada asas ini sebanyak 1.

Dalam PHP, anda boleh menggunakan fungsi date() untuk mendapatkan tarikh dan hari semasa dalam seminggu. Hanya tinggalkan parameter kedua fungsi date() dan tetapkan parameter pertama kepada "Y-m-d H:i:s" untuk mendapatkan tarikh semasa, sintaksnya ialah "date("Y-m-d H:i:s""; parameter pertama ditetapkan kepada "N", hari dalam seminggu boleh diperolehi dengan sintaks "tarikh("N")". "N" mengembalikan hari dalam seminggu sebagai nombor dalam format ISO-8601, antara 1 (untuk hari Isnin) hingga 7 (untuk Ahad).

Mengira perbezaan tarikh adalah sangat biasa dalam aplikasi praktikal Contohnya, semasa melakukan pembangunan tapak web, kita mungkin perlu mengira perbezaan antara dua tarikh untuk memaparkan cap masa, kira detik, dsb. Apabila mengira perbezaan tarikh, kita selalunya perlu mengira perbezaan bulan antara dua tarikh Mari kita perkenalkan cara menggunakan PHP untuk mengira perbezaan bulan antara tarikh.

PHP adalah bahasa pengaturcaraan popular yang digunakan secara meluas dalam pembangunan web. Menukar antara rentetan dan tarikh adalah operasi yang sangat biasa dalam PHP. Dalam artikel ini, kita akan membincangkan cara menukar rentetan PHP kepada format masa.

Dalam PHP, anda boleh menggunakan fungsi date() untuk menukar cap waktu kepada masa tarikh Fungsi ini boleh memformatkan cap masa kepada tarikh dan masa yang lebih mudah dibaca, format sintaks ialah "tarikh(format, cap masa)", Parameter format digunakan untuk menentukan aksara pemformatan dan menetapkan format tarikh untuk ditukar, seperti "Y-m-d H:i:s", yang menukar cap masa ke dalam format "tahun-bulan-hari jam:minit:saat".

Dalam pembangunan PHP, kita sering menghadapi situasi menukar bulan digital kepada bulan Inggeris. Ini adalah keperluan biasa kerana negara dan bahasa yang berbeza menggunakan cara yang berbeza untuk mewakili bulan. Sebagai contoh, di Amerika Syarikat dan United Kingdom, orang biasanya menggunakan nama bulan Inggeris untuk menunjukkan masa, manakala di Perancis dan Jerman, orang biasanya menggunakan nama bulan dalam bahasa tempatan mereka. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menukar nombor bulan kepada nama bulan bahasa Inggeris.

Dalam PHP, anda boleh menggunakan fungsi date() untuk menukar saat kepada format jam, minit dan saat, dengan sintaks "date("H:i:s", timestamp)". Cap masa ialah bilangan saat sejak zaman Unix hingga masa semasa, dan fungsi date() boleh memformat cap masa dan menukar cap masa kepada rentetan tarikh dalam format tertentu melalui set aksara format dalam parameter pertama. Aksara format "H" mewakili jam 24 jam, dan aksara "h" juga boleh digunakan, yang mewakili jam 12 jam; aksara format "i" mewakili nilai minit dengan sifar pendahuluan, dan aksara format "s" mewakili nilai kedua dengan sifar pendahuluan.
