时间戳

时间戳

php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法

PHPliuliangsong 发表了文章 • 0 个评论 • 169 次浏览 • 2016-10-17 16:14 • 来自相关话题

  php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法,主要使用到了 php 的时间函数 mktime。下面是使用 mktime 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法:<?php
date_default_timezone_set('PRC');
//php获取今日开始时间戳和结束时间戳
$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;

//php获取昨日起始时间戳和结束时间戳
$beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;

//php获取上周起始时间戳和结束时间戳
$beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
$endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));

//php获取本月起始时间戳和结束时间戳
$beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
$endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));

// 输出
echo sprintf("今日: %s -> %s\n", $beginToday, $endToday);
echo sprintf("   %s -> %s\n", date("Y-m-d H:i:s", $beginToday), date("Y-m-d H:i:s", $endToday));
echo sprintf("昨日: %s -> %s\n", $beginYesterday, $endYesterday);
echo sprintf("   %s -> %s\n", date("Y-m-d H:i:s", $beginYesterday), date("Y-m-d H:i:s", $endYesterday));
echo sprintf("上周: %s -> %s\n", $beginLastweek, $endLastweek);
echo sprintf("   %s -> %s\n", date("Y-m-d H:i:s", $beginLastweek), date("Y-m-d H:i:s", $endLastweek));
echo sprintf("本月: %s -> %s\n", $beginThismonth, $endThismonth);
echo sprintf("   %s -> %s\n", date("Y-m-d H:i:s", $beginThismonth), date("Y-m-d H:i:s", $endThismonth));输出结果:今日: 1476633600 -> 1476719999
   2016-10-17 00:00:00 -> 2016-10-17 23:59:59
昨日: 1476547200 -> 1476633599
   2016-10-16 00:00:00 -> 2016-10-16 23:59:59
上周: 1476028800 -> 1476633599
   2016-10-10 00:00:00 -> 2016-10-16 23:59:59
本月: 1475251200 -> 1477929599
   2016-10-01 00:00:00 -> 2016-10-31 23:59:59
mktime用法:
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,自 PHP 5.1.0 起,is_dst 参数被废弃。 查看全部
  php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法,主要使用到了 php 的时间函数 mktime。下面是使用 mktime 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法:
<?php
date_default_timezone_set('PRC');
//php获取今日开始时间戳和结束时间戳
$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;

//php获取昨日起始时间戳和结束时间戳
$beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;

//php获取上周起始时间戳和结束时间戳
$beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
$endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));

//php获取本月起始时间戳和结束时间戳
$beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
$endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));

// 输出
echo sprintf("今日: %s -> %s\n", $beginToday, $endToday);
echo sprintf("   %s -> %s\n", date("Y-m-d H:i:s", $beginToday), date("Y-m-d H:i:s", $endToday));
echo sprintf("昨日: %s -> %s\n", $beginYesterday, $endYesterday);
echo sprintf("   %s -> %s\n", date("Y-m-d H:i:s", $beginYesterday), date("Y-m-d H:i:s", $endYesterday));
echo sprintf("上周: %s -> %s\n", $beginLastweek, $endLastweek);
echo sprintf("   %s -> %s\n", date("Y-m-d H:i:s", $beginLastweek), date("Y-m-d H:i:s", $endLastweek));
echo sprintf("本月: %s -> %s\n", $beginThismonth, $endThismonth);
echo sprintf("   %s -> %s\n", date("Y-m-d H:i:s", $beginThismonth), date("Y-m-d H:i:s", $endThismonth));
输出结果:
今日: 1476633600 -> 1476719999
   2016-10-17 00:00:00 -> 2016-10-17 23:59:59
昨日: 1476547200 -> 1476633599
   2016-10-16 00:00:00 -> 2016-10-16 23:59:59
上周: 1476028800 -> 1476633599
   2016-10-10 00:00:00 -> 2016-10-16 23:59:59
本月: 1475251200 -> 1477929599
   2016-10-01 00:00:00 -> 2016-10-31 23:59:59

mktime用法:
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,自 PHP 5.1.0 起,is_dst 参数被废弃。

PHP 获取毫秒级别的时间戳

PHPdave 回复了问题 • 3 人关注 • 1 个回复 • 304 次浏览 • 2016-10-17 11:45 • 来自相关话题

PHP 获取带微秒的时间戳和日期时间字符串

PHPdave 回复了问题 • 2 人关注 • 2 个回复 • 153 次浏览 • 2016-10-17 11:23 • 来自相关话题

PHP 获取带毫秒的时间戳和日期时间字符串

PHPdave 回复了问题 • 2 人关注 • 2 个回复 • 288 次浏览 • 2016-10-17 11:16 • 来自相关话题

PHP 将时间戳转换为日期时间字符串

PHP匿名用户 回复了问题 • 2 人关注 • 2 个回复 • 208 次浏览 • 2016-10-16 23:16 • 来自相关话题

PHP 如何获取Unix时间戳

PHP匿名用户 回复了问题 • 2 人关注 • 2 个回复 • 179 次浏览 • 2016-10-16 22:43 • 来自相关话题

PHP 如何输出带微秒的时间

PHPllslx520 回复了问题 • 3 人关注 • 1 个回复 • 120 次浏览 • 2016-10-16 18:24 • 来自相关话题

PHP如何获取带毫秒的时间戳

回复

PHP匿名用户 回复了问题 • 1 人关注 • 1 个回复 • 163 次浏览 • 2016-10-14 18:06 • 来自相关话题

JS将时间戳转换为刚刚、N分钟前、今天几点几分、昨天几点几分等表示法

回复

Javascriptliuliangsong 回复了问题 • 1 人关注 • 1 个回复 • 511 次浏览 • 2016-10-11 15:38 • 来自相关话题

PHP将时间戳转换为刚刚、N分钟前、今天几点几分、昨天几点几分...

回复

PHP匿名用户 回复了问题 • 1 人关注 • 1 个回复 • 302 次浏览 • 2016-10-11 15:20 • 来自相关话题

条新动态, 点击查看
匿名用户

liuliangsong 回答了问题 • 2016-09-29 12:39 • 1 个回复 不感兴趣

php date日期字符串转Unix时间戳的方法

赞同来自:

使用strtotime()、mktime()、gmmktime()等函数转换: <?php
date_default_timezone_set('PRC');
// 1、使用 strtotime 函数,方便好用
echo strtotime('2012-... 显示全部 »
使用strtotime()、mktime()、gmmktime()等函数转换: <?php
date_default_timezone_set('PRC');
// 1、使用 strtotime 函数,方便好用
echo strtotime('2012-12-21 23:58:59'); //输出:1356105539

// 2、使用 mktime 函数
echo mktime(23, 58, 59, 12, 31, 1999); //参数:时,分,秒,月,日,年,输出: 946655939

// 3、使用 gmmktime 函数,基于 GMT/UTC 时区
echo gmmktime(23, 58, 59, 12, 31, 1999); //输出:946684739
自定义的转换函数: function timestampFormat( timestamp ) {
function zeroize( num ) {
return (String(num).length == 1 ? '0' : ... 显示全部 »
自定义的转换函数: function timestampFormat( timestamp ) {
function zeroize( num ) {
return (String(num).length == 1 ? '0' : '') + num;
}

var curTimestamp = parseInt(new Date().getTime() / 1000); //当前时间戳
var timestampDiff = curTimestamp - timestamp; // 参数时间戳与当前时间戳相差秒数

var curDate = new Date( curTimestamp * 1000 ); // 当前时间日期对象
var tmDate = new Date( timestamp * 1000 ); // 参数时间戳转换成的日期对象

var Y = tmDate.getFullYear(), m = tmDate.getMonth() + 1, d = tmDate.getDate();
var H = tmDate.getHours(), i = tmDate.getMinutes(), s = tmDate.getSeconds();

if ( timestampDiff < 60 ) { // 一分钟以内
return "刚刚";
} else if( timestampDiff < 3600 ) { // 一小时前之内
return Math.floor( timestampDiff / 60 ) + "分钟前";
} else if ( curDate.getFullYear() == Y && curDate.getMonth()+1 == m && curDate.getDate() == d ) {
return '今天' + zeroize(H) + ':' + zeroize(i);
} else {
var newDate = new Date( (curTimestamp - 86400) * 1000 ); // 参数中的时间戳加一天转换成的日期对象
if ( newDate.getFullYear() == Y && newDate.getMonth()+1 == m && newDate.getDate() == d ) {
return '昨天' + zeroize(H) + ':' + zeroize(i);
} else if ( curDate.getFullYear() == Y ) {
return zeroize(m) + '月' + zeroize(d) + '日 ' + zeroize(H) + ':' + zeroize(i);
} else {
return Y + '年' + zeroize(m) + '月' + zeroize(d) + '日 ' + zeroize(H) + ':' + zeroize(i);
}
}
} 参数的时间不能大于当前时间,大于当前时间会返回“刚刚”。

  用法展示: timestampFormat(1326170770); //2012年01月10日 12:46
timestampFormat(Date.parse('2016-10-11 15:26:10')/1000); //刚刚
timestampFormat(Date.parse('2016-10-11 15:10:10')/1000); //16分钟前
timestampFormat(Date.parse('2016-10-11 10:10:10')/1000); //今天10:10
timestampFormat(Date.parse('2016-10-10 10:10:10')/1000); //昨天10:10
timestampFormat(Date.parse('2016-02-10 10:10:10')/1000); //02月10日 10:10
timestampFormat(Date.parse('2012-10-10 10:10:10')/1000); //2012年10月10日 10:10

PHP 获取毫秒级别的时间戳

回复

PHPdave 回复了问题 • 3 人关注 • 1 个回复 • 304 次浏览 • 2016-10-17 11:45 • 来自相关话题

PHP 获取带微秒的时间戳和日期时间字符串

回复

PHPdave 回复了问题 • 2 人关注 • 2 个回复 • 153 次浏览 • 2016-10-17 11:23 • 来自相关话题

PHP 获取带毫秒的时间戳和日期时间字符串

回复

PHPdave 回复了问题 • 2 人关注 • 2 个回复 • 288 次浏览 • 2016-10-17 11:16 • 来自相关话题

PHP 将时间戳转换为日期时间字符串

回复

PHP匿名用户 回复了问题 • 2 人关注 • 2 个回复 • 208 次浏览 • 2016-10-16 23:16 • 来自相关话题

PHP 如何获取Unix时间戳

回复

PHP匿名用户 回复了问题 • 2 人关注 • 2 个回复 • 179 次浏览 • 2016-10-16 22:43 • 来自相关话题

PHP 如何输出带微秒的时间

回复

PHPllslx520 回复了问题 • 3 人关注 • 1 个回复 • 120 次浏览 • 2016-10-16 18:24 • 来自相关话题

PHP如何获取带毫秒的时间戳

回复

PHP匿名用户 回复了问题 • 1 人关注 • 1 个回复 • 163 次浏览 • 2016-10-14 18:06 • 来自相关话题

JS将时间戳转换为刚刚、N分钟前、今天几点几分、昨天几点几分等表示法

回复

Javascriptliuliangsong 回复了问题 • 1 人关注 • 1 个回复 • 511 次浏览 • 2016-10-11 15:38 • 来自相关话题

PHP将时间戳转换为刚刚、N分钟前、今天几点几分、昨天几点几分...

回复

PHP匿名用户 回复了问题 • 1 人关注 • 1 个回复 • 302 次浏览 • 2016-10-11 15:20 • 来自相关话题

php date日期字符串转Unix时间戳的方法

回复

PHPliuliangsong 回复了问题 • 2 人关注 • 1 个回复 • 471 次浏览 • 2016-10-10 11:12 • 来自相关话题

php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法

PHPliuliangsong 发表了文章 • 0 个评论 • 169 次浏览 • 2016-10-17 16:14 • 来自相关话题

  php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法,主要使用到了 php 的时间函数 mktime。下面是使用 mktime 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法:<?php
date_default_timezone_set('PRC');
//php获取今日开始时间戳和结束时间戳
$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;

//php获取昨日起始时间戳和结束时间戳
$beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;

//php获取上周起始时间戳和结束时间戳
$beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
$endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));

//php获取本月起始时间戳和结束时间戳
$beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
$endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));

// 输出
echo sprintf("今日: %s -> %s\n", $beginToday, $endToday);
echo sprintf("   %s -> %s\n", date("Y-m-d H:i:s", $beginToday), date("Y-m-d H:i:s", $endToday));
echo sprintf("昨日: %s -> %s\n", $beginYesterday, $endYesterday);
echo sprintf("   %s -> %s\n", date("Y-m-d H:i:s", $beginYesterday), date("Y-m-d H:i:s", $endYesterday));
echo sprintf("上周: %s -> %s\n", $beginLastweek, $endLastweek);
echo sprintf("   %s -> %s\n", date("Y-m-d H:i:s", $beginLastweek), date("Y-m-d H:i:s", $endLastweek));
echo sprintf("本月: %s -> %s\n", $beginThismonth, $endThismonth);
echo sprintf("   %s -> %s\n", date("Y-m-d H:i:s", $beginThismonth), date("Y-m-d H:i:s", $endThismonth));输出结果:今日: 1476633600 -> 1476719999
   2016-10-17 00:00:00 -> 2016-10-17 23:59:59
昨日: 1476547200 -> 1476633599
   2016-10-16 00:00:00 -> 2016-10-16 23:59:59
上周: 1476028800 -> 1476633599
   2016-10-10 00:00:00 -> 2016-10-16 23:59:59
本月: 1475251200 -> 1477929599
   2016-10-01 00:00:00 -> 2016-10-31 23:59:59
mktime用法:
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,自 PHP 5.1.0 起,is_dst 参数被废弃。 查看全部
  php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法,主要使用到了 php 的时间函数 mktime。下面是使用 mktime 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法:
<?php
date_default_timezone_set('PRC');
//php获取今日开始时间戳和结束时间戳
$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;

//php获取昨日起始时间戳和结束时间戳
$beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;

//php获取上周起始时间戳和结束时间戳
$beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
$endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));

//php获取本月起始时间戳和结束时间戳
$beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
$endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));

// 输出
echo sprintf("今日: %s -> %s\n", $beginToday, $endToday);
echo sprintf("   %s -> %s\n", date("Y-m-d H:i:s", $beginToday), date("Y-m-d H:i:s", $endToday));
echo sprintf("昨日: %s -> %s\n", $beginYesterday, $endYesterday);
echo sprintf("   %s -> %s\n", date("Y-m-d H:i:s", $beginYesterday), date("Y-m-d H:i:s", $endYesterday));
echo sprintf("上周: %s -> %s\n", $beginLastweek, $endLastweek);
echo sprintf("   %s -> %s\n", date("Y-m-d H:i:s", $beginLastweek), date("Y-m-d H:i:s", $endLastweek));
echo sprintf("本月: %s -> %s\n", $beginThismonth, $endThismonth);
echo sprintf("   %s -> %s\n", date("Y-m-d H:i:s", $beginThismonth), date("Y-m-d H:i:s", $endThismonth));
输出结果:
今日: 1476633600 -> 1476719999
   2016-10-17 00:00:00 -> 2016-10-17 23:59:59
昨日: 1476547200 -> 1476633599
   2016-10-16 00:00:00 -> 2016-10-16 23:59:59
上周: 1476028800 -> 1476633599
   2016-10-10 00:00:00 -> 2016-10-16 23:59:59
本月: 1475251200 -> 1477929599
   2016-10-01 00:00:00 -> 2016-10-31 23:59:59

mktime用法:
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,自 PHP 5.1.0 起,is_dst 参数被废弃。