`
wangyalei
  • 浏览: 53178 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

php学习笔记(日期函数用法总结)

    博客分类:
  • PHP
阅读更多

 php中对时间日期的处理时相对简单的,php中提供了date/time 函数允许您提取并格式化服务器上的日期和时间。

 date/time函数的行为受到 php.ini 中设置的影响。当然我们可以手动更改其中的配置项参数,不过最好不要更改。

 php 为我们提供了不少函数来操控时间,虽然多 但用的不多。

 

 

<?php
/*
 * Created on 2010-8-20
 *
 * @author wangyalei
 *
 */


//1.date() 函数格式化一个本地时间/日期
	//format 必需。规定如何返回结果。 timestamp 可选。规定时间戳。默认是当前的日期和时间。
	//date(format,timestamp)
	
	//  d - 月中的天 (01-31)
	//	m - 当前月,以数字计 (01-12)
	//	Y - 当前的年(四位数)
	echo date("Y/m/d");
	echo "<br />";
	echo date("Y.m.d");
	echo "<br />";
	echo date("Y-m-d");
	//输出
	//2010/08/20
	//2010.08.20
	//2010-08-20
	
	//设置时区
	 date_default_timezone_set("Asia/Shanghai");
	 $now = getdate();
	 print "{$now['hours']}:{$now['minutes']}:{$now['seconds']}\t";//22:13:57
	 $now = localtime();
	 print "$now[2]:$now[1]:$now[0]";// 22:14:1

//2。mktime() 函数返回一个日期的 Unix 时间戳。

	 //语法  mktime(hour,minute,second,month,day,year,is_dst)
	
	 //参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。

   $then = mktime(23,31,22,8,21,2010);
   echo $then;//1282433482 这个就是当前的时间戳
   echo "<br>";
  //把时间戳 转换为正常时间格式
   echo "day is ".date("Y/m/d", $then);//day is 2010/08/21

   echo "<br>";

    //获取明天的日期
    $tomorrow = mktime(0,0,0,date("m"),date("d")+1,date("Y"));
    echo "Tomorrow is ".date("Y/m/d", $tomorrow);
     //和mktime 一般差不多
    echo gmmktime(23,31,22,8,21,2010);//221282433482


//4 strftime() 函数根据区域设置格式化本地时间/日期。
   //strftime(format,timestamp) format 可选。规定如何返回结果。timestamp 可选。
    $then = mktime(23,31,22,8,21,2010);
    print strftime("%c",$then);//08/21/10 23:31:22
	$then = gmmktime(23,31,22,8,21,2010);
	echo "<br>";
    print strftime("%c",$then);//08/21/10 23:31:22

  // strftime 和 date 相比 更容易生成内部带有插值的时间和日期值的字符串
    date_default_timezone_set("Asia/Shanghai");
    print strftime(" 现在时间 %I, %P  %B %d,%Y");//现在时间 10, August 22,2010
    print "现在时间".date('h a ').date('F d,y');//现在时间10 am August 22,10

//5计算两个时间差
	
	$now_1 = mktime(0,0,0,8,21,2010);
	$now_2 = mktime(0,0,0,8,22,2010);
	$diff_seconds = $now_2-$now_1;
	 //相差 的月
	 $diff_week = floor($diff_seconds/604800);//60*60*24*7
	 //相差的天
	 $diff_day = floor($diff_seconds/86400);//60*60*24
	
	 echo "相差 时间为".$diff_week."个月".$diff_day."天";//相差 时间为0个月1天


//6验证日期

//checkdate($month,$day,$year);// return  true  or false

echo checkdate(2,30,2005) ? "valid" : "invalid";

//看一个例子

	function pc_checkdate($month,$day,$year){
	
	
		$min_age = 18;
		$max_age = 250;
	
		if(!checkdate($month,$day,$year)){
			return false;
		}
	
		list($this_year,$this_month,$this_day) = explode(",",date("Y,m,d"));
		$min_year = $this_year - $max_age;
		$max_year = $this_year - $min_age;
	
		if(($year>=$min_year)&&($year<=$max_year)){
			return true;
		}else{
			return false;
		}
	}
	
	if(pc_checkdate(12,3,2001)){
	
		print "0k";
	}else{
	
		print "no";
	}

//7 从字符串中解析时间
	//strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。
	//strtotime(time,now)
	//time 规定要解析的时间字符串。
	//now 用来计算返回值的时间戳。如果省略该参数,则使用当前时间。
	//成功则返回时间戳,否则返回 FALSE。在 PHP 5.1.0 之前本函数在失败时返回 -1。
	
		echo(strtotime("now"));
	echo "<br>";
	echo(strtotime("3 October 2005"));
	echo "<br>";
	echo(strtotime("+5 hours"));
	echo "<br>";
	echo(strtotime("+1 week"));
	echo "<br>";
	echo(strtotime("+1 week 3 days 7 hours 5 seconds"));
	echo "<br>";
	echo(strtotime("next Monday"));
	echo "<br>";
	echo(strtotime("last Sunday"));


//8 使用正侧表达式 解析时间
//如果要从字符串中解析时间 你不知道其格式 就不能使用 strtotime

	$date = '2008-12-2 12:30:21';
	preg_match('/(\d{4})-(\d{2})-(\d{2})(\d{2}):(\d{2}):(\d{2})/',$date,$datearry);


//分割时间

	$date_arry=preg_split("/[-:]/",$date);
	var_dump($date_arry);
	//array(5) {
	//  [0]=>
	//  string(4) "2008"
	//  [1]=>
	//  string(2) "12"
	//  [2]=>
	//  string(4) "2 12"
	//  [3]=>
	//  string(2) "30"
	//  [4]=>
	//  string(2) "21"
	//}

?>

 

date -- 格式化一个本地时间/日期 的 format 字符 在手册中讲解的非常详细了在这就不多废话了

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>else if语句的应用</title>
</head>

<body>
<?php
	$moth = date("n");								//设置月份变量$moth
	$today = date("j");								//设置日期变量$today
	if ($today >= 1 and $today <= 10){			//判断日期变量是否在1-10之间
		echo "今天是".$moth."月".$today."日上旬";	//如果是,说明是上旬
	}elseif($today > 10 and $today <= 20){			//否则判断日期变量是否在11-20之间
		echo "今天是".$moth."月".$today."日中旬";	//如果是,说明是中旬
	}else{											//如果上面两个判断都不符合要求,则输出默认值
		echo "今天是".$moth."月".$today."日下旬";	//说明是本月的下旬
	}
?>

</body>
</html>

 

现在说一下setlocal定义和用法setlocale() 函数设置地区信息(地域信息)。

地区信息是针对一个地理区域的语言、货币、时间以及其他信息。

该函数返回当前的地区设置,若失败则返回 false。

语法

setlocale(constant,location)
constant 必需。规定应该设置什么地区信息。

可用的常量:

LC_ALL - 包括下面的所有选项 
LC_COLLATE -排序次序 
LC_CTYPE - 字符类别及转换(例如所有字符大写或小写) 
LC_MESSAGES - 系统消息格式 
LC_MONETARY - 货币格式 
LC_NUMERIC - 数字格式 
LC_TIME - 日期/时间格式 
 
location 必需。规定把地区信息设置为什么国家/地区。如果 location 参数是数组,setlocale() 会尝试每个数组元素,直到找到合法的语言或地区代码为止。如果某个地区在不同的系统上拥有不同的名称,这一点很有用。
 

 

提示和注释

注释:setlocale() 函数仅针对当前脚本改变地区信息。

提示:可以通过 setlocale(LC_ALL,NULL) 把地区信息设置为系统默认。 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>switch多重判断语句</title>
</head>

<body>
<?php
	setlocale(LC_TIME,null);								//设置本地环境
	$weekday = strftime("%A");								//声明变量$weekday的值
	switch($weekday){										//switch语句,判断$weekday的值
		case "星期一":										//如果变量的值为“星期一”
			echo "今天是$weekday ,新的一周开始了。";
			break;
		case "星期二":										//如果变量的值为“星期二”
			echo "今天是$weekday ,保持昨天的好状态,继续努力!";
			break;
		case "星期三":										//如果变量的值为“星期三”
			echo "今天是$weekday ,真快啊,过去1/2周了。";
			break;
		case "星期四":										//如果变量的值为“星期四”
			echo "今天是$weekday ,还有1天放假了.";
			break;
		case "星期五":										//如果变量的值为“星期五”
			echo "今天是$weekday ,呵呵,明天有什么安排呢!。";
			break;
		default:											//默认值
			echo "今天是$weekday , 呵呵。";
			break;
	}
?>

</body>
</html>

 

 

分享到:
评论

相关推荐

    当年我学PHP时整理的学习笔记

    【标题】:“当年我学PHP时整理的学习笔记” 这篇学习笔记是作者在学习PHP编程语言的过程中逐步积累并整理的,涵盖了初学者从基础到进阶的一些关键知识点。PHP是一种广泛应用于网页开发的服务器端脚本语言,尤其在...

    php框架学习笔记.doc

    PHP框架学习笔记 PHP框架学习笔记是学习PHP框架的重要笔记,涵盖了CI框架的基本概念、控制器、模型、视图、URI路由、数据库操作、表单提交、上传文件、Session管理等方面的知识点。 CI框架的业务流程是从域名或...

    php100学习笔记

    根据提供的“php100学习笔记”的部分内容,我们可以总结出一系列重要的PHP知识点,涉及字符串处理、文件操作、类与对象的基础等内容。 ### 字符串处理 #### `str_replace` `str_replace`函数用于在字符串中替换...

    一个自己学习总结的php类学习笔记

    本文将深入探讨PHP类的概念、创建、属性和方法、构造函数与析构函数、实例化、访问控制等方面。 首先,类是对象的蓝图,它定义了一组属性(数据)和方法(操作)。类将相关的数据和行为组织在一起,形成一个独立的...

    PHP学习笔记1

    本篇PHP学习笔记覆盖了PHP的基础语法、变量、数据类型、控制结构、函数、面向对象编程、错误处理、文件操作以及与数据库的交互等内容,为初学者提供了一个全面的学习框架。掌握这些知识点后,你可以开始构建自己的...

    php学习笔记

    这份"PHP学习笔记"涵盖了PHP的基础知识、进阶概念以及可能的实际应用,对于想要深入理解PHP编程的初学者或希望巩固技能的开发者来说是一份宝贵的资源。 在PHP的学习过程中,首先你需要了解的是基本语法,包括变量的...

    Php学习笔记.docPhp学习笔记.docPhp学习笔记.doc

    《PHP学习笔记》 在IT领域,PHP是一种广泛使用的服务器端脚本语言,尤其适合Web开发。这篇笔记主要探讨了PHP的基本语法特性,包括它的无类型特性、continue语句的独特用法以及数组的处理。 首先,PHP是无类型的,...

    Ajax学习笔记个人总结

    ### Ajax学习笔记个人总结 #### 一、XMLHttpRequest对象简介 **XMLHttpRequest** 对象是 AJAX 技术的核心,它负责在客户端与服务器之间发送异步请求,无需刷新整个页面即可实现局部数据更新。要使用 ...

    php模板引擎Smarty学习笔记(全)

    本学习笔记将详细介绍Smarty的核心概念、安装配置、基本用法以及一些高级特性。 1. Smarty核心概念: - 模板:HTML代码,其中包含特殊的SMARTY标记,用于插入动态数据。 - 配置文件:定义SMARTY的全局设置,如...

    PHP的学习笔记.pdf

    以下是从提供的文件内容中梳理出的PHP学习笔记知识点: 1. PHP常用输出语句: - echo:用于输出字符串,可以输出多个值,但不具备返回值。 - print_r:打印变量的详细信息,也可以输出多个值,并能接受第二个参数...

    PHP学习笔记.rar

    【PHP学习笔记】是作者四个月学习PHP过程中积累的个人笔记,主要涵盖了HTML基础、CSS基础以及PHP基础等核心内容。这些笔记对于初学者来说是非常有价值的资源,因为它们以小案例的形式展示了各种知识点,便于理解和...

    php个人学习笔记

    以上只是PHP学习笔记中的一部分内容,实际上PHP还有许多高级特性,如错误日志、命名空间、 Traits、魔术方法等。通过深入学习和实践,你可以掌握PHP并利用它构建复杂的Web应用程序。这份笔记旨在为初学者提供一个...

    php学习笔记(二)转

    【PHP学习笔记(二)转】这篇博文是博主在深入学习PHP编程时的总结,主要聚焦于PHP基础知识的深化理解,结合源码分析和实用工具的运用。在PHP的学习过程中,掌握基本语法、数据类型、流程控制以及函数的使用至关重要...

    PHP PDO 学习笔记

    ### PHP PDO 学习笔记详解 #### 一、PDO简介 PDO(PHP Data Objects)是PHP 5中引入的一个数据库访问扩展,在PHP 6中它将成为连接数据库的标准方式,并逐步取代旧有的数据库连接方法。PDO的主要目标是为PHP提供一...

    php学习笔记之 函数声明

    本篇笔记主要探讨了PHP中的函数声明及其相关概念。 函数在PHP中定义的基本语法如下: ```php function 函数名(参数1, 参数2, ..., 参数N) { // 函数体 // 可选的 return 语句 } ``` 函数声明的几个要点如下: ...

    php学习笔记_心得

    【PHP学习笔记_心得】 PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其适合于Web开发。在本文中,我们将深入探讨几个PHP的核心概念,包括如何在文件间进行调用、页面跳转的方法以及异常处理机制...

    php的学习笔记-php的学习笔记

    从给定的文件信息中,我们可以提炼出一系列与PHP学习相关的知识点,涵盖了基本的调试技巧、错误处理策略、变量管理、以及PHP的工作流程等。以下是对这些知识点的详细阐述: ### PHP调试技巧 #### 输出调试 1. **...

Global site tag (gtag.js) - Google Analytics