, 都可能会有这个迷惑, 我们也可以很轻松的验证类似的其他月份, 印证这个结论: var_dump(date("Y-m-d", strtotime("-1 month", strtotime("2017 -03-31"))));//输出2017-03-03var_dump(date("Y-m-d", strtotime("+1 month", strtotime("2017-08-31"))));//输出 (date("Y-m-d", strtotime("last month", strtotime("2017-03-31"))));//输出2017-03-03 那怎么办呢? day of +1 month", strtotime("2017-08-31"))));////输出2017-09-01var_dump(date("Y-m-d", strtotime("first day of next month", strtotime("2017-01-31"))));////输出2017-02-01var_dump(date("Y-m-d", strtotime("last
$t = strtotime("-{$n} days 00:00:00");//当前日期的前n天的0点 $t = strtotime("-{$n} days 23:00:00");//当前日期的前n天的 strtotime("+{$n} days 00:00:00");//当前日期的后n天的0点 $t = strtotime("+{$n} days 23:00:00");//当前日期的后n天的23点 获取指定日期前 $n*86400 s的时间 $t = strtotime("+{$n} days {$data} 00:00:00");//当前日期的后n天的0点 $t = strtotime("+{$n} days "); $t = strtotime("yesterday 00:00:00"); //以上三个结果一样,但是为了严谨期间,如果需要时分秒,给出精确时间 $t = strtotime("tomorrow "); $t = strtotime("tomorrow midnight"); $t = strtotime("tomorrow 00:00:00"); $year = 2015; $month =
var_dump(date('Y-m-d')); var_dump(date('Y-m-d', strtotime('- 1 day'))); var_dump(date('Y-m-d', strtotime ('+ 2 day'))); var_dump(date('Y-m-d', strtotime('- 1 week'))); var_dump(date('Y-m-d', strtotime('+ 2 02" string(10) "2018-10-23" 上面的这些都没有问题,毕竟day和week的时间是固定的,但是month就不一样了,有大月和小月 var_dump(date("Y-m-d", strtotime ("-1 month", strtotime("2018-05-31")))); 打印出来的结果是: string(10) "2018-05-01" !!! ("last day of -1 month", strtotime("2018-05-31")))); 打印结果是: string(10) "2017-04-30" 为了避免 strtotime 引起的问题
date():格式化一个本地时间或者日期,当前时间 2016年5月13日 15:19:49 使用函数date(),输出当前是月份中的第几天,参数:String类型 d 例如:echo date("d") ; 输出 13 使用函数date(),输出当前是星期中的第几天,参数:String类型 D或者 N 例如:echo date("D"); 输出 Fri echo date("N"); 输出 5 echo date("l"); 输出 Friday 使用函数date(),输出当前月份中的第几月,参数:String类型 n echo date("n"); 输出 5 使用函数date(),判断当前年份是否是闰年 ,参数:String类型 L echo date("L"); 输出 1 strtotime():把字符串类型日期格式转成时间戳 使用函数strtotime(),打印前一天日期,参数:String类型 “ -1 day” echo date("Y-m-d H:i:s",strtotime("-1day"));输出 2016-05-12 15:27:33 使用函数strtotime(),打印明天日期,参数:
###获取今日0点的时间戳 $today = strtotime(date('Ymd')); $today2 = strtotime('today'); echo "today = ". $today2; 输出: today = 1463500800 today2 = 1463500800 由此可见,获取今日0点时的时间戳可以直接使用strtotime("today").
今天遇到一个BUG,在使用strtotime(date('Y-m-d') . ' 00:00:00') 获取当天零点时间戳会出现不准确的问题,有时候获取的是正常的零点时间戳,有时候获取的是当天8点的时间戳 解决方案: strtotime(date('Y-m-d')) // 获取当天零点时间戳 strtotime(date('Y-m-d') . ' + 1 day') - 1 // 获取当天23点59分59 秒时间戳 strtotime(date('Y-m-d')) - 1 // 获取昨天23点59分59秒时间戳
{ foreach ($this->holidayDay as $startDate => $endDate) { $this->holidayData[strtotime ($startDate)] = strtotime($endDate); } ksort($this->holidayData); foreach ($this ->holidayExtraWorkDay as $startDate => $endDate) { $this->workDayData [strtotime($startDate ($date)); if (in_array($week, [1, 2, 3, 4, 5])) {//周一到周五 //验证是否为节假日,如果是则不用上班 $startTime)] = strtotime($date . " " .
echo strtotime("2014-03-27"), "\n"; echo strtotime("December 31"), "\n"; echo strtotime("now"), "\n"; echo strtotime("10 September 2000"), "\n"; echo strtotime("+1 day"), "\n"; echo strtotime("+1 week") N的取值范围是1-7 echo date('Y-m-d H:i:s',strtotime('2014W01-5')), "\n"; //2014年第一周的第五天 //2014-01-03 00:00:00 他用来描述一段时间,形如P1Y2M3DT4H5M6S,字母都是大写。其中P后面跟年月日,T后面是时分秒。 2] => 12 [3] => 27 [4] => 2 [5] => 114 [6] => 4 [7] => 85 [8] => 0 ) 如果第二参数为真
$day = '2014-03-28'; $d1 = date("Y-m-d", strtotime("0 day $day"));//第1天03-28 $d3 = date("Y-m-d", strtotime("2 day $day"));//第3天 $d7 = date("Y-m-d", strtotime("6 day $day"));//第7天 $d15 = date("Y-m-d ", strtotime("14 day $day"));//第15天 $d30 = date("Y-m-d", strtotime("29 day $day"));//第30天 $rd5 = date ("Y-m-d", strtotime("-4 day $day"));//最后5天 $rd3 = date("Y-m-d", strtotime("-2 day $day"));//最后3天 $rd2 = date("Y-m-d", strtotime("-1 day $day"));//最后2天 $rd1 = date("Y-m-d", strtotime("-0 day $day")
id=343578′ scrolling=’no’>function get_weekend_days($start_date,$end_date){ if (strtotime($start_date ) > strtotime($end_date)) list($start_date, $end_date) = array($end_date, $start_date); $start_reduce = $end_add = 0; $start_N = date(‘N’,strtotime($start_date)); $start_reduce = ($start_N == 7) ? 2 : 1; $days = abs(strtotime($end_date) – strtotime($start_date))/86400 + 1; return floor(($days + date(“Y-m-d H:i:s”,time()),”2011-8-21 15:23:48″); http://biancheng.dnbcw.info/php/343578.html pageNo:5
",strtotime("+1 day")),"
";
echo "一周后:",date("Y-m-d",strtotime("+1 week")),"
";
echo "一周零两天四小时两秒后 ",strtotime("next Thursday")),"
";
echo "上个周一:".date("Y-m-d",strtotime("last Monday"))." >
//strtotime可以接受第二个参数,类型timestamp,为指定日期
echo date('Y-m-d', strtotime ("+1 day", strtotime('2011-11-01 echo date('Y-m-d',strtotime('+1 d',strtotime('2009-07-08')));//日期天数相加函数
echo date("Y-m-d",'1246982400 function dateToTime($d){//把日期转换成时间堆截
$year=((int)substr("$d",0,4));//取得年份
$month=((int)substr("$d",5,2
将年月日时间转换成时间戳 echo strtotime('2020-01-15 11:20:10'); //直接输出转换后的时间戳 当前时间加七天 echo date("Y-m-d H:i:s",strtotime ("+7 day")); //输出七天后的日期 php获取今天日期 date("Y-m-d",strtotime("today")); //strtotime(‘today’)输出今天的开始时间戳 date ("Y-m-d",time()); //time()输出当前秒时间戳 php获取昨天日期 date("Y-m-d",strtotime("-1 day")); date("Y-m-d",strtotime ("yesterday")); //二者都可以实现 php获取明天日期 date("Y-m-d",strtotime("+1 day")); date("Y-m-d",strtotime("tomorrow php获取一周零两天四小时五分钟两秒后时间 date("Y-m-d H:i:s",strtotime("+1 week 2 days 4 hours 5 minute 2 seconds")); php
示例:echo time(); // 输出当前时间戳二、格式化日期和时间字符串strtotime(): 将日期字符串转换为时间戳 strtotime()函数用于将一个日期字符串转换为Unix时间戳。 示例:$date1 = strtotime('2023-04-26');$date2 = strtotime('2023-05-01');echo ($date2 - $date1)/(60*60*24 ); // 输出:5date_diff(): 计算两个日期之间的差值 date_diff()函数可以用于计算两个日期之间的差值,返回一个DateInterval对象。 date_create('2023-05-01');$interval = date_diff($date1, $date2);echo $interval->format('%R%a days'); // 输出:+5 示例:$date1 = strtotime('2023-04-26');$date2 = strtotime('2023-05-01');if ($date1 < $date2) { echo '
",strtotime("+1 day")),"\n"; echo "一周后:",date("Y-m-d",strtotime("+1 week")),"\n"; echo "一周零两天四小时两秒后 ",strtotime("next Thursday")),"\n"; echo "上个周一:".date("Y-m-d",strtotime("last Monday"))." H:i:s', strtotime ("+1 day", strtotime('2017-11-11'))), "\n"; // 这里+1 day 可以修改参数1为任何想需要的数 ('+1 day', strtotime('2016-09-12'))), "\n\n"; echo strtotime('2016-09-12'), "\n"; echo date("Y-m-d function date2time($d){ $year=((int)substr("$d",0,4)); //取得年份 $month=((int)substr("$d",5,2
strtotime() strtotime() 函数用于将英文文本字符串表示的日期转换为时间戳,为 date() 的反函数,成功返回时间戳,否则返回 FALSE 。 php echo strtotime(“2009-10-21 16:00:10”); //输出 1256112010 echo strtotime(“10 September 2008”); //输出 > 自定义函数 下面的函数与strtotime功能差不多。<? str_format_time($timestamp = ”) { if (preg_match(“/[0-9]{4}-[0-9]{1,2}-[0-9]{1,2} (0[0-9]|1[0-9]|2[0-3]):([0-5] [0-9]):([0-5][0-9])/i”, $timestamp)) { list(date,time)=explode(” “, list(year,month,day)=explode(“-
,所用语言是 php,服务器解析需要安装 Apache,或者 Nginx; 4,格式是时间戳,切记,拥有时间戳,就可以任意处理,可以生产这种日期时间格式: 2016-7-08 12:1:3; 5, php 2 /** 3 * Created by PhpStorm. 4 * Author: 林冠宏 5 * Date: 2016/6/4 6 * Time: 16:06 public function RangeTest(){ 35 /** 日 测试 */ 36 $this->GetTimeRang("日","2016-6-5" 46 /** 月 测试 */ 47 $this->GetTimeRang("月"); 48 $this->GetTimeRang("月","2015-5" )); // 获取传过来的月所有天数 152 $timeF = strtotime($selectTime); 153 } 154 $timeL
$day1+4; $day6=$day1+5; $day7=$day1+6; $date1=$yue."-". $day4; $date5=$yue."-".$day5; $date6=$yue."-".$day6; $date7=$yue."-". ]; $week2=$weekarray[date("w",strtotime("$date2"))]; $week3=$weekarray[date("w",strtotime("$date3"))] ; $week4=$weekarray[date("w",strtotime("$date4"))]; $week5=$weekarray[date("w",strtotime("$date5"))]; $week6=$weekarray[date("w",strtotime("$date6"))]; $week7=$weekarray[date("w",strtotime("$date7"))];
> 运行结果: 创建日期是:2015-06-10 09:12:31AM 通过 PHP strtotime() 用字符串来创建日期 PHP strtotime() 函数用于把人类可读的字符串转换为 Unix 语法: strtotime(time,now) 通过 strtotime() 函数创建日期和时间: 实例: <? php $d=strtotime("tomorrow"); echo date("Y-m-d h:i:sa", $d) . php $startdate = strtotime("Saturday"); $enddate = strtotime("+6 weeks",$startdate); > 声明:本文由w3h5原创,转载请注明出处:《PHP获取当前时间、年份、月份、日期和天数》 https://www.w3h5.com/post/268.html
按照 echo date(‘Y-m-d H:i:s); 页面输出结果为:2016-05-22 09:14:08 2、按照 echo date(‘Y-n-j G:i:s’); 页面输出结果为:2016-5- 2、获取时间戳方法time()、strtotime() 这两个方法,都可以获取php中unix时间戳,time()为直接获取得到,strtotime(time, now)为将时间格式转为时间戳, 3、 ($time)用法 比如: echo strtotime(’2012-03-22′),输出结果:1332427715(此处结果为随便写的,仅作说明使用) echo strtotime(date(‘Y-d-m H:i:s’,strtotime(‘+1 day’)),输出结果:2012-03-23 23:30:33(会发现输出明天此时的时间) echo date(‘Y-m-d H:i:s’,strtotime 5、php获取当前时间的毫秒数 php本身没有提供返回毫秒数的函数,但提供了microtime()方法,它会返回一个Array,包含两个元素:一个是秒数、一个是小数表示的毫秒数,我们可以通过此方法获取返回毫秒数
按照 echo date(‘Y-m-d H:i:s); 页面输出结果为:2016-05-22 09:14:08 2、按照 echo date(‘Y-n-j G:i:s’); 页面输出结果为:2016-5- 2、获取时间戳方法time()、strtotime() 这两个方法,都可以获取php中unix时间戳,time()为直接获取得到,strtotime(time, now)为将时间格式转为时间戳, 3、 ($time)用法 比如: echo strtotime(’2012-03-22′),输出结果:1332427715(此处结果为随便写的,仅作说明使用) echo strtotime(date(‘Y-d-m H:i:s’,strtotime(‘+1 day’)),输出结果:2012-03-23 23:30:33(会发现输出明天此时的时间) echo date(‘Y-m-d H:i:s’,strtotime 5、php获取当前时间的毫秒数 php本身没有提供返回毫秒数的函数,但提供了microtime()方法,它会返回一个Array,包含两个元素:一个是秒数、一个是小数表示的毫秒数,我们可以通过此方法获取返回毫秒数