php判断某个日期是否为今天来高亮emlog当天发表的文章 PHP
先贴上简单的代码供大家参考:
<?php /** * PHP判断一个日期是不是今天 * @author Mrxn * @Blog https://mrxn.net/ */ echo '<meta charset="utf-8" />'; // 拟设一个日期 $a = '2015-12-19 10:10:10'; // 截取日期部分,摒弃时分秒 $b = substr($a,0,10); #或者是利用 gmdate()函数格式化,下面会有实例 // 获取今天的日期,格式为 YYYY-MM-DD $c = date('Y-m-d'); // 使用IF当作字符串判断是否相等 if($b==$c){ echo '是今天'; }else{ echo '不是今天'; } ?> <?php /** * PHP判断一个日期是不是今天 * @author Mrxn * @Blog https://mrxn.net/ */ echo '<meta charset="utf-8" />'; // 拟设一个日期 $a = '2015-12-19 10:10:10'; // 转换为时间戳 $a_ux = strtotime($a); // 转换为 YYYY-MM-DD 格式 $a_date = date('Y-m-d',$a_ux); // 获取今天的 YYYY-MM-DD 格式 $b_date = date('Y-m-d'); // 使用IF当作字符串判断是否相等 if($a_date==$b_date){ echo '是今天'; }else{ echo '不是今天'; } ?>
下面就是emlog中具体的利用了:
$nowtime = date('Y-m-d'); $endtime = gmdate('Y-m-d',$row['date']); $date = gmdate('m-d', $row['date']); $gid = $row['gid']; if ($is_list == "1") { $out .='<ul id="ul1">'; if ($nowtime==$endtime) { $out .= ' <li><span style="color:red;font-weight:bold" id="date">[' . $date . ']</span><a style="color:red;font-weight:bold" href="' . Url::log($row['gid']) . '" title="' . $row['title'] . '" ><span id="arrow">▪</span>' . $row['title'] . '</a></li> '; $out .='</ul>'; }else{ $out .= ' <li><span id="date">[' . $date . ']</span><a href="' . Url::log($row['gid']) . '" title="' . $row['title'] . '" ><span id="arrow">▪</span>' . $row['title'] . '</a></li> '; $out .='</ul>'; } }
效果如上图所示,当天发表的文章标题和日期为红色加粗,就是通过判断文章发表时间和当前时间是否为同一天,从而实施不同的css样式,达到想要的效果,当然,你也可以创新,自己修改,比如一周内更新的颜色,或者是几天内更新的又是什么颜色,只需要稍微修改一下if判断就好了。好了,就到这里了,如有什么疑问和建议,欢迎下方评论留言和我交流。
PHP时间比较和时间差如何计算和Date函数格式化时间 PHP
<?php $zero1=date(“y-m-d h:i:s”); $zero2=”2010-11-29 21:07:00′; echo “zero1的时间为:”.$zero1.”<br>”; echo “zero2的时间为:”.$zero2.”<br>”; if(strtotime($zero1)<strtotime($zero2)){ echo “zero1早于zero2′; }else{ echo “zero2早于zero1′; } ?>
上面是比较两个绝对时间的大小
<?php $zero1=strtotime (date("y-m-d h:i:s")); //当前时间 ,注意H 是24小时 h是12小时 $zero2=strtotime ("2014-1-21 00:00:00"); //过年时间,不能写2014-1-21 24:00:00 这样不对 $guonian=ceil(($zero2-$zero1)/86400); //60s*60min*24h echo "离过年还有<strong>$guonian</strong>天!"; ?>
上面是倒计时小程序 实例代码
<?php //PHP计算两个时间差的方法 $startdate="2010-12-11 11:40:00"; $enddate="2012-12-12 11:45:09"; $date=floor((strtotime($enddate)-strtotime($startdate))/86400); $hour=floor((strtotime($enddate)-strtotime($startdate))%86400/3600); $minute=floor((strtotime($enddate)-strtotime($startdate))%86400/60); $second=floor((strtotime($enddate)-strtotime($startdate))%86400%60); echo $date."天<br>"; echo $hour."小时<br>"; echo $minute."分钟<br>"; echo $second."秒<br>"; ?>
上面是PHP计算两个时间差的方法
还有一个简单的方法:
<?php echo floor((time()-strtotime("2014-06-15"))/86400);//86400为天,请根据情况修改 ?>
<?php /** * 时间差计算 * * @param Timestamp $time * @return String Time Elapsed * @author Shelley Shyan * @copyright http://phparch.cn (Professional PHP Architecture) */ function time2Units ($time) { $year = floor($time / 60 / 60 / 24 / 365); $time -= $year * 60 * 60 * 24 * 365; $month = floor($time / 60 / 60 / 24 / 30); $time -= $month * 60 * 60 * 24 * 30; $week = floor($time / 60 / 60 / 24 / 7); $time -= $week * 60 * 60 * 24 * 7; $day = floor($time / 60 / 60 / 24); $time -= $day * 60 * 60 * 24; $hour = floor($time / 60 / 60); $time -= $hour * 60 * 60; $minute = floor($time / 60); $time -= $minute * 60; $second = $time; $elapse = ''; $unitArr = array('年' =>'year', '个月'=>'month', '周'=>'week', '天'=>'day', '小时'=>'hour', '分钟'=>'minute', '秒'=>'second' ); foreach ( $unitArr as $cn => $u ) { if ( $$u > 0 ) { $elapse = $$u . $cn; break; } } return $elapse; } $past = 2052345678; // Some timestamp in the past $now = time(); // Current timestamp $diff = $now - $past; echo '发表于' . time2Units($diff) . '前'; ?>
格式化时间
date() 函数用于格式化时间,返回一个字符串。
语法:
string date( string format [, int timestamp] )
参数 format 表示时间格式化的方式,可能的方式如下:
格式化方式 | 说明 |
---|---|
Y | 4位数字年,y为2位数字,如99即1999年 |
m | 数字月份,前面有前导0,如01。n 为无前导0数字月份 |
F | 月份,完整的文本格式,例如 January 或者 March |
M | 三个字母缩写表示的月份,例如 Jan 或者 Mar |
d | 月份中的第几天,前面有前导0,如03。j 为无前导0的天数 |
w | 星期中的第几天,以数字表示,0表示星期天 |
z | 年份中的第几天,范围0-366 |
W | 年份中的第几周,如第32周 |
H | 24小时格式,有前导0,h为12小时格式 |
G | 24小时格式,无前导0,g为对应12小时格式 |
i | 分钟格式,有前导0 |
s | 秒格式,有前导0 |
A | 大写上下午,如AM,a为小写 |
可选参数 timestamp 表示时间戳,默认为 time() ,即当前时间戳。
我们可以通过 date() 函数提供的丰富格式化来显示需要的时间日期,如下面的例子:
date("Y-m-d",time()); //显示格式如 2008-12-01 date("Y.m.d",time()); //显示格式如 2008.12.01 date("M d Y",time()); //显示格式如 Dec 01 2008 date("Y-m-d H:i",time()); //显示格式如 2008-12-01 12:01
提示
如果您输出的时间和实际时间差8个小时(假设您采用的北京时区)的话,请检查php.ini文件,做如下设置:
date.timezone = PRC
如需做其他时区的设置请参考:http://www.php.net/manual/en/timezones.php
本文参考:
http://www.cnblogs.com/wellsoho/p/3248082.html
http://www.5idev.com/p-php_time_date.shtml
sublime text3安装phpfmt插件格式化php 技术文章
sublime text3也支持php格式化的插件了,在这里向作者致敬,感谢他开发出这个插件,如果你不知道sublime就不要往下看了,免得浪费你的时间,
首先是你的sublime安装了package control(插件管理包),如果没有安装,请自行百度搜索安装,一大堆教程,在你安装了package control之后,引用原作者的话就是:
Install this plugin through Package Manager.
-
In Sublime Text press
ctrl+shift+P
-
Choose
Package Control: Install Package
-
Choose
phpfmt
- 打开sublime,在sublime界面 按 Ctrl+shift+P 组合键,
- 输入 install package,找到Install Package,并回车打开,
- 输入 phpfmt 找到并回车安装,等待安装结束,
做完上面的工作,还不能使用phpfmt插件的,还需要配置插件所需要的php环境,最新版的phpfmt插件需要php5.6或者更高版本,这里,博主离线了两个在百度网盘,分别是php5.6和php7.0的非安全线程压缩包(都是64位的),直接解压到你想放的目录即可,如果需要其他版本或者是32位的请自行前往php官网下载,百度网盘地址:http://pan.baidu.com/s/1kUn5zxl 官方下载页面:http://www.php.net/downloads.php
将自己需要的安装包下载下载后,解压到你想放的地方,比如博主,防止wampserver的php目录里面,这是方便我的wampserver使用,你们可以根据自己的需要放置;接下来就是打开phpfmt配置:
Preferences > Package Settings > phpfmt > Settings - User
我将我的配置贴出来,供大家参考:
{ "enable_auto_align":true,//自动调整对齐 "indent_with_space": true,//自动空格 "psr1": true, "psr2": true, "version": 4, "php_bin":"D:/wamp/bin/php/php5.6.16/php.exe",//php路径 "format_on_save":true,//保存的时候自动格式化 "option": "value" }
其中的php_bin 很重要,就是你存放php的路径,其中的有些配置我在百度没有搜搜到,在国外的网站上看到的,试了一下还不错,原地址:http://stackoverflow.com/questions/29350807/sublime-text-3-php-fmt-wont-work 有兴趣的童鞋可以去看看。
配置完之后,重启sublime text3,打开你需要格式化的php文件,快捷键:Ctrl+F11 或则是在按下组合键Ctrl+shift+P后输入phpfmt 即可选择想要执行的操作,下面是一些常用命令:
The following features are available through command palette (ctrl+shift+P or cmd+shift+P) : phpfmt: format now //立即格式化 ctrl+F11 phpfmt: indentation with spaces phpfmt: toggle additional transformations phpfmt: toggle excluded transformations phpfmt: toggle skip execution when .php.tools.ini is missing phpfmt: toggle auto align phpfmt: toggle autocomplete phpfmt: toggle dependency autoimport phpfmt: toggle format on save phpfmt: toggle PSR1 - Class and Methods names phpfmt: toggle PSR1 phpfmt: toggle PSR2 phpfmt: toggle smart linebreak after open curly phpfmt: toggle visibility order phpfmt: toggle yoda mode phpfmt: analyse this //Ctrl+F10 phpfmt: build autocomplete database phpfmt: getter and setter (camelCase) phpfmt: getter and setter (Go) phpfmt: getter and setter (snake_case) phpfmt: generate PHPDoc block phpfmt: look for .php.tools.ini phpfmt: reorganize content of class phpfmt: refactor phpfmt: toggle PHP 5.5 compatibility mode phpfmt: enable/disable additional transformations phpfmt: troubleshoot information
phpfmt插件作者项目在github的主页:https://github.com/phpfmt/sublime-phpfmt
实际效果看下面是我的亲测的code:
<?php for($i = 0; $i < 10; $i++) { if($i%2==0) echo "Flipflop"; } // 格式化之后的样子 <?php for ($i = 0; $i < 10; $i++) { if ($i % 2 == 0) { echo "Flipflop"; } } ?> <?php $a = 10; $otherVar = 20; $third = 30; // 格式化之后的样子 <?php $a = 10; $otherVar = 20; $third = 30; <?php namespace NS\Something; use \OtherNS\C; use \OtherNS\B; use \OtherNS\A; use \OtherNS\D; $a = new A(); $b = new C(); $d = new D(); // 格式化之后的样子 <?php namespace NS\Something; use \OtherNS\A; use \OtherNS\C; use \OtherNS\D; $a = new A(); $b = new C(); $d = new D(); // PSR version <?php for($i = 0; $i < 10; $i++) { if($i%2==0) echo "Flipflop"; } // 格式化之后的样子 <?php for ($i = 0; $i < 10; $i++) { if ($i % 2 == 0) { echo "Flipflop"; } } <?php class A { function a(){ return 10; } } // 格式化之后的样子 <?php class A { public function a() { return 10; } } <?php namespace NS\Something; use \OtherNS\C; use \OtherNS\B; use \OtherNS\A; use \OtherNS\D; $a = new A(); $b = new C(); $d = new D(); // 格式化之后的样子 <?php namespace NS\Something; use \OtherNS\A; use \OtherNS\C; use \OtherNS\D; $a = new A(); $b = new C(); $d = new D();
如果需要下载使用新版sublime text3 并且免费注册,请查看这篇文章:
(Mrxn分享)Sublime Text 3 Build 3065 安装版注册+汉化
使用Win32DiskImager做安装kali启动U盘后的那些事儿 Linux
如题,前几天不是kali风骚的流产了么。。。他们的新儿子kali2.0,我就试试感觉咋样,于是呢,就需要使用Win32DiskImager来做kali的安装启动U盘啊,一切顺利。。。只是在安装完之后,我切换到win10时候,插入U盘发现U盘容量有问题。。。
原本是8G的U盘,咋变这么小呢。。。开始尝试使用系统格式化工具-格式化,但是问题出现了。。。还是这么大、、、
FormatTool..是个很不错的软件,但是你的自己记住你的U盘的盘符 g h j 等等。。。我的是J .把强制格式化复选框选上之后,确定,稍作等待。就OK了:
容量就恢复了。。。goodsoft!对了软件下载地址:http://pan.baidu.com/s/1o6mW0Ls 方便需要的童鞋下载。