php strtotime 函数与实例教程

 更新时间:2016年11月25日 16:50  点击:1953
strtotime(字符串$时间[,诠释$现在])int strtotime ( string $time [, int $now ] 该函数期望得到一个包含美国英语日期格式,并会尝试解析成一个Unix时间戳(多少秒自1970年1月1日00:00:00星期一该格式),相对于现在提供的时间戳,或当前时间如果现在不提供。

这个函数将使用TZ环境变量(如果有)来计算时间戳。自PHP 5.1.0有更容易的方法来确定所使用的所有/日期时间函数的时区。这一过程是解释在date_default_timezone_get()函数的一页

解析的字符串。在PHP 5.0.0,不允许在微秒的时间,自PHP 5.0.0他们是允许的,但忽略。

现在
哪些是作为计算基数相对日期使用时间戳。

返回值
在成功返回一个时间戳,否则返回FALSE。前到PHP 5.1.0,这个函数将返回失败-1。

Returns a timestamp on success, FALSE www.111cn.netotherwise. Previous to PHP 5.1.0, this function would return -1 on failure.

现在我们来看看strtotime字符转换成时间的函数实例

 

<?php教程
//function
function nextWeeksDay($date_begin,$nbrweek)
{
$nextweek=array();
for($i = 1; $i <= $nbrweek; $i++)  { // 52 week in one year of coursewww.111cn.net
$nextweek[$i]=date('D d M Y', strtotime('+'.$i.' week',$date_begin));
}
return $nextweek;
}
/// end function
/// example of a select date
// var
$date_begin = strtotime('06-05-2010'); //D Day Month Year  - like function format.
$nbrweek=52;
// call function
$result=nextWeeksDay($date_begin,$nbrweek);
// Preview
for($i = 1; $i <= $nbrweek; $i++)  {
echo '<br> - '.$result[$i];
}
?>

<?php
$str = 'Not Good';

// previous to PHP 5.1.0 you would compare with -1, instead of false
if (($timestamp = strtotime($str)) === false) {
    echo "The string ($str) is bogus";
} else {
    echo "$str == " . date('l dS o F Y h:i:s A', $timestamp);
}
?>
<?php
echo strtotime("now"), " ";
echo strtotime("10 September 2000"), " ";
echo strtotime("+1 day"), " ";
echo strtotime("+1 week"), " ";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), " ";
echo strtotime("next Thursday"), " ";
echo strtotime("last Monday"), " ";
?>

这是一个快速函数计算在一年期间,“工作天”。 “工作日”是指那些没有周末,没有假期在$数组中指定的假日。我离开了读者的实施超过1年。

function get_working_days($to_date) {
    $holidays = array(
        1 => array(10), //2011 ...
        2 => array(11),
        3 => array(21), //... 2011
        4 => array(29,30), //2010 ...
        5 => array(3,4,5),
        6 => array(),
        7 => array(19),
        8 => array(11,12,13),
        9 => array(20,23),
       10 => array(11),
       11 => array(3,23),
       12 => array(23) //... 2010
    );

    for($to_date, $w = 0, $i = 0, $x = time(); $x < $to_date; $i++, $x = strtotime("+$i day")) {
       if(date("N",$x) < 6 &! in_array(date("j",$x),$holidays[date("n",$x)])) $w++;
    }
    return $w;
}

//Usage:
echo get_working_days(strtotime("2011-01-08"));

str urlencode($string)
此功能是方便的编码字符串时要在URL的查询的一部分用来作为一种方便的方法传递变量到下一页。

我写了这个简单的函数,创建一个GET查询的网址()从一个数组:
*/

function encode_array($args)
{
  if(!is_array($args)) return false;
  $c = 0;
  $out = '';
  foreach($args as $name => $value)
  {
    if($c++ != 0) $out .= '&';
    $out .= urlencode("$name").'=';
    if(is_array($value))
    {
      $out .= urlencode(serialize($value));
    }else{
      $out .= urlencode("$value");
    }
  }
  return $out . " ";
}

//如果有在$ args数组数组,它们将被序列化之前进行了urlencoded。


echo encode_array(array('foo' => 'bar'));                    // foo=bar
echo encode_array(array('foo&bar' => 'some=weird/value'));   // foo%26bar=some%3Dweird%2Fvalue
echo encode_array(array('foo' => 1, 'bar' =>  'two'));       // foo=1&bar=two
echo encode_array(array('args' => array('key' => 'value'))); // args=a%3A1%3A%7Bs%3A3%3A%22key%22%3Bs%3A5%3A%22value%22%3B%7D

/*
我需要一个在PHP函数在JavaScript中做完整的逃生功能相同的工作。我花一些时间不找到它。但findaly我决定写我自己的代码。因此,为了节省时间
*/

function fullescape($in)
{
  $out = '';
  for ($i=0;$i<strlen($in);$i++)
  {
    $hex = dechex(ord($in[$i]));
    if ($hex=='')
       $out = $out.urlencode($in[$i]);
    else
       $out = $out .'%'.((strlen($hex)==1) ? ('0'.strtoupper($hex)):(strtoupper($hex)));
  }
  $out = str_replace('+','%20',$out);
  $out = str_replace('_','%5F',$out);
  $out = str_replace('.','%2E',$out);
  $out = str_replace('-','%2D',$out);
  return $out;
 }
//I needed encoding and decoding for UTF8 urls, I came up with these very simple fuctions. Hope this helps教程!我需要为UTF8的编码和解码网址,我想出了这些非常简单fuctions。希望这会有所帮助

 function url_encode($string){
        return urlencode(utf8_encode($string));
    }
   
    function url_decode($string){
        return utf8_decode(urldecode($string));
    }
/*
urlencode:是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Baidu、Google等搜索引擎教程中输入中文查询时候,生成经过 Encode过的网页URL。urlencode的方式一般有两种一种是传统的基于GB2312的Encode(Baidu、Yisou等使用),一种是 基于utf-8的Encode(Google,Yahoo等使用)。本工具分别实现两种方式的Encode与Decode。

中文 -> GB2312的Encode -> %D6%D0%CE%C4
中文 -> utf-8的Encode -> %E4%B8%AD%E6%96%87

如果要使用utf-8的Encode,有两种方法:

一、将文件存为utf-8文件,直接使用urlencode、rawurlencode即可。
二、使用mb_convert_encoding函数。

<?php
$url = 'http://www.111cn.net/中文.rar';
echo urlencode(mb_convert_encoding($url, 'utf-8', 'gb2312'))." ";
echo rawurlencode(mb_convert_encoding($url, 'utf-8', 'gb2312'))." ";
//http%3A%2F%2Fwww.111cn.net%2F%E4%B8%AD%E6%96%87.rar
?>

格式化时间和/或日期按区域设置。月份和星期几以及其它和语言有关的字符串当前语言环境的设置与那么setlocale()。

不是所有的转换说明符,可支持您的C库,在这种情况下,他们不会将PHP的strftime()的支持。此外,并不是所有的平台的支持负的时间戳,因此您的日期范围可能仅限于不早于Unix的时代。这意味着,一样%e,%吨,%R和,%d个(或其他) - 以及1月1日之前的日期 - 1970年将无法工作在Windows,一些Linux发行版本,以及其他一些操作系统。对于Windows系统,支持的转换说明符的完整概述,可在

面的字符是字符串格式的格式参数为例说明确认返回的值
日--- www.111cn.net   ---
%1天的简写孙周六的文字表述
%机管局充分的文字表述的一天星期日到星期六
%Ð双位数天的月(带前导零)01至31
%é天的月份,一前一个位数至31空间
引用%j天的一年,3前导零001至366位
%u个通过ISO - 8601数字表示为星期一)在本周一(天虽然7(星期日)
%瓦特数字表示的一周0星期日(日)至6(星期六)
周--- ---
%ü给定的数周开始,每年的第一个星期日为第一周的13 13年度全周()
%的V通过ISO - 8601:1988年该年年底的周数,首先是今年的第一个星期,至少有4个周日与周一是一周的01到53开始(其中53个为一重叠周帐户)
西澳%的数字表示该年的一周,首先是第一个星期一为第一周的46日与1年46周开始()
一个月--- ---
%b的月份名称缩写的基础上,通过现场1月12月
%B全部月份名称的基础上,现场1月至12月
%的H月份名称的缩写,基于区域设置(通过了12%,别名二)1
%米两个数字代表该月的01(1月)到12(12月)
年--- ---
%C两世纪(除以100年两位数的代表性,取整)为20世纪19
%克的两个通过ISO - 8601年持续两位数代表:1988标准(参见%V)例:为6周1月09日
%G的全部4位数字的%版本克为例:对2009年1月3日周2008
%,比前两个数字代表该年为例:09 2009年,1979年79
%,比前4位数字表示该年为例:2038年
时间--- ---
%的H 2位数字表示在24小时格式的00到23小时
到12%,我的两个12小时格式零一小时位代表
%升(小写的L')在12小时格式小时,与前面的1到12个位数的空间
%男两位数代表性的00到59分钟
%p大写'am'或'总理'的基础上给定的时间例:上午12点31分,下午为22:23
%P的较低情况下的'我'或'时'的基础上给定的时间例:上午12点31分,下午为22:23
%ṛ同为“%1:%男:%的S%P”的例子:9点34分17秒为下午21点34分17秒
%ṛ同为“%的H:%M”的例子:上午12时35分,00:35 16:44为下午4时44
%,第二的两个00位代表通过59
%Ŧ同为“%高:%男:%S个”例子:下午9点34分17秒21点34分17秒
%×首选区域代表性的时间没有日期,例如:3时59分十六秒或十五时59分16秒
%ž无论从UTC的时区或缩写(偏移取决于操作系统)为例:-0500或东部时间美国东部时间
%ž时区偏移/缩写选择不再由%给予Ž(于操作系统而定)例:-0500或东部时间美国东部时间
时间和日期戳--- ---
%ç首选日期和时间戳根据当地为例:星期二2月5日零点45分10秒2009年为2009年2月4日在上午12时45分十秒
%,同为“%米的D /%d个/%Y”字为例:02/05/09为2009年2月5日
%,同为“%女的Y%米-%D”类(常用的数据库教程日戳使用)为例:2009-02-05为2009年2月5日
%s的Unix纪元时戳(视时间为9月10日()函数)例:305815200,1979上午八时四十分00秒相同
%×首选日期代表性区域的基石,不受时间,例如:02/05/09,为2009年2月5日
杂项--- ---
%n个一个换行符(“ N”的)---
%吨制表符(“ t”的)---
%%一个文字字符("%")百分比---


这个参数的最大长度为1023个字符。

现在我们来看一下strftime实例

<?php教程
setlocale(LC_TIME, "C");
echo strftime("%A");
setlocale(LC_TIME, "fi_FI");
echo strftime(" in Finnish is %A,");
setlocale(LC_TIME, "fr_FR");
echo strftime(" in French %A and");
setlocale(LC_TIME, "de_DE");
echo strftime(" in German %A. ");
?>

<?php
$ts = strtotime("4 Nov 2009");
echo strlen(strftime("%-e", $ts)), " "; // "1" (no padding)
echo strlen(strftime("%e", $ts)), " "; // "2" (space padded)
?>

实例三

<?php
// Date string
$timestamp     =     strftime("%Y-%m-%d %H:%M:%S %Y");

// From this string ($timestamp) can we print
echo strftime("%a %d %b %H:%M:%S %Y", strtotime($timestamp))."<br/>";
echo strftime("%a %d %b %H:%M", strtotime($timestamp))."<br/>";
echo strftime("%Y-%m-%d %H:%M:%S", strtotime($timestamp))."<br/>";
echo strftime("%Y-%m-%d %H:%M", strtotime($timestamp))."<br/>";
echo strftime("%Y-%m-%d", strtotime($timestamp))."<br/>";
echo strftime("%a %d %b %Y", strtotime($timestamp))."<br/>";

/*And it will output

Wed 20 May 15:53:40 2009
Wed 20 May 15:53
2009-05-20 15:53:40
2009-05-20 15:53
2009-05-20
Wed 20 May 2009

*/
?>

关于strftime实例五

function calculateFiscalYearForDate($inputDate, $fyStart, $fyEnd){
    $date = strtotime($inputDate);
    $inputyear = strftime('%Y',$date);
       
    $fystartdate = strtotime($fyStart.$inputyear);
    $fyenddate = strtotime($fyEnd.$inputyear);

    if($date < $fyenddate){
        $fy = intval($inputyear);
    }else{
        $fy = intval(intval($inputyear) + 1);
    }
   
    return $fy;
   
}

// my fiscal year starts on July,1 and ends on June 30, so...
echo calculateFiscalYearForDate("5/15/08","7/1","6/30");
// returns 2008

echo calculateFiscalYearForDate("12/1/08","7/1","6/30");

本站整理转载注明来自www.111cn.net 谢谢合作

opendir语法
 opendir(path,context) 目录
 功能说明
 打开目录句柄,opendir() 函数打开一个目录句柄 则该函数返回一个目录流,否则返回 false
 
 来看个opendir列出目录下所有文件实例
*/

$dirs ='./';//指定当前上当
if( is_dir( $dirs ) )
{
 $hanld = opendir($dirs);
 
 while (($file = readdir($hanld)) !== false)
 {
   echo "文件名: " . $file . "<br />";
 }
 closedir($hanld);
}
else
{
 echo '不是目录';
}

/*
输出结果
文件名:a
文件名:b
文件名:www.111cn.net
*/


/*
提示和注释
注释:从 PHP 5.0.0 开始,path 参数支持 ftp:// URL wrapper。

注释:在 PHP 4.3.0 中, path 参数可以是任何支持目录列表的 URL,不过在 PHP 4 中只有 file:// URL wrapper 支持此功能。

定义和用法
readdir() 函数返回由 opendir() 打开的目录句柄中的条目,若成功,则该函数返回一个文件名,否则返回 false。

实例一

*/

$dir = "readdir/";

// 判断是否为目录
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            echo "filename: $file : filetype: " . filetype($dir . $file) . " ";
        }
        closedir($dh);
    }
}

//实例二

// 注意在 4.0.0-RC2 之前不存在 !== 运算符
if ($handle = opendir('/path/to/files')) {
    echo "Directory handle: $handle ";
    echo "Files: ";

    /* 这是正确地遍历目录方法 */
    while (false !== ($file = readdir($handle))) {
        echo "$file ";
    }

    /* 这是错误地遍历目录的方法 */
    while ($file = readdir($handle)) {
        echo "$file ";
    }

    closedir($handle);
}

//实例三  readdir() 将会返回 . 和 .. 条目。如果不想要它们,只要过滤掉即可: 例子 2. 列出当前目录的所有文件并去掉 . 和 ..
if ($handle = opendir('.')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            echo "$file ";
        }
    }
    closedir($handle);
}

 //注:readdir必须与opendir配合使用才行。

[!--infotagslink--]

相关文章

  • Painter绘制红衣喝酒男水粉画效果教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一说绘制红衣喝酒男水粉画效果的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
  • iPhone6怎么激活?两种苹果iPhone6激活教程图文详解

    iPhone6新机需要激活后才可以正常使用,那么对于小白用户来说,iPhone6如何激活使用呢?针对此问题,本文就为大家分别介绍Wifi无线网络激活以及iPhone6连接电脑激活这两种有效的方法,希望本文能够帮助到大家...2022-09-14
  • Photoshop制作雨中野外孤独行走的一头牛海报教程

    今天小编在这里就来给各位photoshop的这一款软件的使用者们来说下制作雨中野外孤独行走的一头牛海报的教程,各位想知道具体制作方法的使用者们,大家就快来看一看小编给...2016-09-14
  • Painter绘制帅气卡通魔法王子漫画教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制帅气卡通魔法王子漫画的具体教程,各位想知道绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
  • Illustrator鼠绘堆雪人的孩童矢量插画教程

    今天小编在这里就来给各位Illustrator的这一款软件的使用者们来说说鼠绘堆雪人的孩童矢量插画的教程,各位想知道具体绘制方法的使用者们,那么各位就快来跟着小编来看看...2016-09-14
  • 安卓手机app添加支付宝支付开发教程

    支付宝支付在国内算是大家了,我们到处都可以使用支付宝了,下文整理介绍的是在安卓app应用中使用支付宝进行支付的开发例子。 之前讲了一篇博客关与支付宝集成获取...2016-09-20
  • 美图秀秀给照片天空加蓝天白云教程一览

    今天小编在这里就来给美图秀秀的这一款软件的使用者们来说下究竟该怎么给照片天空加蓝天白云的教程,各位想知道具体制作步骤的,那么下面就来跟着小编一起看看吧。 ...2016-09-14
  • llustrator绘制扁平化风格卡通警察护士空姐肖像教程

    今天小编在这里就来给llustrator的这一款软件的使用者们来说一说绘制扁平化风格卡通警察护士空姐肖像的教程,各位想知道具体绘制步骤的使用者们,那么下面就快来跟着小编...2016-09-14
  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • photoshop简单制作一个搞笑的换脸表情包教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说一说简单制作一个搞笑的换脸表情包的教程,各位想知道具体制作方法的使用者们,那么大家就快来看一看教程吧。...2016-09-14
  • Illustrator绘制一个方形的录音机图标教程

    今天小编在这里就来给Illustrator的这一款软件的使用者们来说一下绘制一个方形的录音机图标的教程,各位想知道具体绘制方法的使用者们,那么下面就来看一下小编给大家分...2016-09-14
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • photoshop给手绘画调色变换场景后期教程

    今天小编在这里就来给各位photoshop的这一款软件的使用者们来说说给手绘画调色变换场景的后期教程,各位想知道具体后期处理步骤的使用者们,那么大家就快来跟着小编来看...2016-10-02
  • 美图秀秀让你胸丰满起来处理教程

    今天小编在这里就来给美图秀秀的这一款软件的使用者们来说一下让你胸丰满起来的处理教程,各位想知道具体处理步骤的,那么下面就快来跟着小编一起看一下教程吧。 给...2016-09-14
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • Painter绘制雷神传插画教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制雷神传插画的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看看绘制方法吧。 ...2016-09-14
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25