php判断某个日期是否为今天来高亮emlog当天发表的文章

先贴上简单的代码供大家参考:

<?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>';
}
}       

00.png


效果如上图所示,当天发表的文章标题和日期为红色加粗,就是通过判断文章发表时间和当前时间是否为同一天,从而实施不同的css样式,达到想要的效果,当然,你也可以创新,自己修改,比如一周内更新的颜色,或者是几天内更新的又是什么颜色,只需要稍微修改一下if判断就好了。好了,就到这里了,如有什么疑问和建议,欢迎下方评论留言和我交流。


Mrxn 发布于 2015-12-19 15:05

PHP时间比较和时间差如何计算和Date函数格式化时间

<?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


Mrxn 发布于 2015-12-18 13:00

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
  1. 打开sublime,在sublime界面 按 Ctrl+shift+P 组合键,
  2. 输入 install package,找到Install Package,并回车打开,
  3. 输入 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 安装版注册+汉化




Mrxn 发布于 2015-12-9 04:18

使用Win32DiskImager做安装kali启动U盘后的那些事儿

如题,前几天不是kali风骚的流产了么。。。他们的新儿子kali2.0,我就试试感觉咋样,于是呢,就需要使用Win32DiskImager来做kali的安装启动U盘啊,一切顺利。。。只是在安装完之后,我切换到win10时候,插入U盘发现U盘容量有问题。。。

08-20-32-42.png

原本是8G的U盘,咋变这么小呢。。。开始尝试使用系统格式化工具-格式化,但是问题出现了。。。还是这么大、、、08-20-34-39.png

然后呢,以我如今的能力,只能借助软件了。。。08-20-34-54.png

FormatTool..是个很不错的软件,但是你的自己记住你的U盘的盘符 g h j 等等。。。我的是J .把强制格式化复选框选上之后,确定,稍作等待。就OK了:08-20-37-18.png

容量就恢复了。。。goodsoft!对了软件下载地址:http://pan.baidu.com/s/1o6mW0Ls  方便需要的童鞋下载。

标签: Kali 格式化

Mrxn 发布于 2015-8-18 11:39

个人资料

    blogger

    Mrxn

    一个关注网络安全,热爱黑客技术的好青年!

搜索

最新评论