目录搜索
欢迎目录快速参考图基本信息服务器要求许可协议变更记录关于CodeIgniter安装下载 CodeIgniter安装指导从老版本升级疑难解答介绍开始CodeIgniter 是什么?CodeIgniter 速记表支持特性应用程序流程图模型-视图-控制器架构目标教程内容提要加载静态内容创建新闻条目读取新闻条目结束语常规主题CodeIgniter URL控制器保留字视图模型辅助函数使用 CodeIgniter 类库创建你自己的类库使用 CodeIgniter 适配器创建适配器创建核心系统类钩子 - 扩展框架的核心自动装载资源公共函数URI 路由错误处理缓存调试应用程序以CLI方式运行管理应用程序处理多环境PHP替代语法安全开发规范类库参考基准测试类日历类购物车类配置类Email 类加密类文件上传类表单验证详解FTP 类图像处理类输入类Javascript 类语言类装载类迁移类输出类分页类模板解析器类安全类Session 类HTML 表格类引用通告类排版类单元测试类URI 类User-Agent 类表单验证XML-RPC 和 XML-RPC 服务器Zip 编码类缓存适配器适配器参考适配器数据库类Active Record 类数据库缓存类自定义函数调用数据库配置连接你的数据库数据库快速入门例子代码字段数据数据库维护类查询辅助函数数据库类查询生成查询记录集表数据事务数据库工具类JavaScript类辅助函数参考数组辅助函数CAPTCHA 辅助函数Cookie Helper日期辅助函数目录辅助函数下载辅助函数Email 辅助函数文件辅助函数表单辅助函数HTML辅助函数Inflector 辅助函数语言辅助函数数字辅助函数路径辅助函数安全辅助函数表情辅助函数字符串辅助函数文本辅助函数排版辅助函数URL 辅助函数XML 辅助函数
文字

CodeIgniter 用户指南 版本 2.1.0

编辑文档、查看近期更改请 登录 或 注册  找回密码
查看原文

日期辅助函数

日期辅助函数的文件涵盖了一些用于辅助日期数组操作的函数。

装载本辅助函数

本辅助函数的装载通过如下代码完成:

$this->load->helper('date');

可用的函数如下:

now()

返回当前的 Unix 时间戳,根据你的config文件中"time reference"设定返回服务器当前时间或者GMT时间。如果你没有计划使用GMT时间(通常是你准备在站点中允许用户选择时区设置),则此函数跟PHP中time()函数等同。

mdate()

这个函数跟PHP的内部函数date()几乎是一样的,区别在于,这个函数允许你使用在每个代码字母前带有百分号“%”的MySQL时间表达形式: %Y %m %d 等。

采用这种方式处理时间数据的优点在于,避免了你在使用date()函数时经常担心漏掉那些非时间的字符的问题。例如:

$datestring = "Year: %Y Month: %m Day: %d - %h:%i %a";
$time = time();

echo mdate($datestring, $time);

如果第二参数中不包含时间戳则使用当前时间。

standard_date()

允许你从一些标准格式生成日期字符串。例子:

$format = 'DATE_RFC822';
$time = time();

echo standard_date($format, $time);

第一个参数必须包含格式,第二个参数必须使用unix时间戳。

支持格式:

常量 描述 例子
DATE_ATOM Atom 2005-08-15T16:13:03+0000
DATE_COOKIE HTTP Cookies Sun, 14 Aug 2005 16:13:03 UTC
DATE_ISO8601 ISO-8601 2005-08-14T16:13:03+00:00
DATE_RFC822 RFC 822 Sun, 14 Aug 05 16:13:03 UTC
DATE_RFC850 RFC 850 Sunday, 14-Aug-05 16:13:03 UTC
DATE_RFC1036 RFC 1036 Sunday, 14-Aug-05 16:13:03 UTC
DATE_RFC1123 RFC 1123 Sun, 14 Aug 2005 16:13:03 UTC
DATE_RFC2822 RFC 2822 Sun, 14 Aug 2005 16:13:03 +0000
DATE_RSS RSS Sun, 14 Aug 2005 16:13:03 UTC
DATE_W3C World Wide Web Consortium 2005-08-14T16:13:03+0000

local_to_gmt()

将unix时间戳转换为GMT。例子:

$now = time();

$gmt = local_to_gmt($now);

gmt_to_local()

输入一个GMT的unix时间戳,根据时区、夏时制转换为本地时间戳。例子:

$timestamp = '1140153693';
$timezone = 'UM8';
$daylight_saving = TRUE;

echo gmt_to_local($timestamp, $timezone, $daylight_saving);

注意:时区列表请参考本页末。

mysql_to_unix()

将MySQL时间戳转换为unix时间戳。例子:

$mysql = '20061124092345';

$unix = mysql_to_unix($mysql);

unix_to_human()

将unix时间戳转为如下人类可阅读格式:

YYYY-MM-DD HH:MM:SS AM/PM

本函数可用于需要作为表单提交的地方。

时间可以设置为含或者不含秒数,而且可以设为欧洲或美国格式。如果只有时间戳,则格式化为不含秒数的美国格式。例子:

$now = time();

echo unix_to_human($now); // U.S. time, no seconds

echo unix_to_human($now, TRUE, 'us'); // U.S. time with seconds

echo unix_to_human($now, TRUE, 'eu'); // Euro time with seconds

human_to_unix()

跟上面函数相反,这个函数将“人类”的时间表示方式(如,2008-12-31 04:38 PM)转换成unix的时间表示方式(如:1230713116)。这个函数在你接收一个从表单提交而来的“人类”的时间格式时会很有用。如果传递给这个函数的参数不是如上所说的“人类”时间格式的字符串,哪么它将返回FALSE (boolean)。例如:

$now = time();

$human = unix_to_human($now);

$unix = human_to_unix($human);

timespan()

格式化unix时间戳使其看起来像这样:

1 Year, 10 Months, 2 Weeks, 5 Days, 10 Hours, 16 Minutes

第一参数必须是unix时间戳,第二个参数是一个大于第一参数的时间戳。如果第二参数空缺,则使用当前时间。这个函数的用途通常是计算过去某一个时间点到现在的时间之间的时间差。例如:

$post_date = '1079621429';
$now = time();

echo timespan($post_date, $now);

Note:由本函数生成的文字可以在以下语言文件中找到: language/<your_lang>/date_lang.php

days_in_month()

对给出的年月值返回天数。这个函数的实现已经考虑了存在闰年和平年的情况。例如:

echo days_in_month(06, 2005);

如果省略第二参数则使用当前年。

timezones()

根据给定的时区参考(有效时区列表请参见下面的“时区参考”)返回跟UTC的相差值。

echo timezones('UM5');

本函数最有用是在使用timezone_menu()函数时.

timezone_menu()

生成一个时区下拉选单,像这样:

在你需要向你的网站会员提供他们所在时区的设置选项时这个选单会很有用的。

第一个参数让你设置选单的“已选”状态。例如,你想将美国西部标准时间设为默认时间,你可以这样做:

echo timezone_menu('UM8');

要得到这个选单的各个具体值,请看下面的时区参考表。

第二个参数让你为选单设置CSS的类名。

注意:上面选单里的每个条目可以在这个文件语言文件里找到: language/<your_lang>/date_lang.php

时区参考

下面的表说明了各个时区值以及该值对应的地点

时区 位置
UM12 (UTC - 12:00) 埃尼威托克, 夸贾林环礁
UM11 (UTC - 11:00) 诺姆, 中途岛, 萨摩亚
UM10 (UTC - 10:00) 夏威夷
UM9 (UTC - 9:00) 阿拉斯加
UM8 (UTC - 8:00) 太平洋时间(美国西部标准时间)
UM7 (UTC - 7:00) 山地时间(美国中西部时间)
UM6 (UTC - 6:00) 美国中部时间, 墨西哥城
UM5 (UTC - 5:00) 美国东部时间, 波哥大, 利马, 基多
UM4 (UTC - 4:00) 大西洋时间, 加拉加斯, 拉巴斯
UM25 (UTC - 3:30) 纽芬兰
UM3 (UTC - 3:00) 巴西, 布宜诺斯艾利斯, 乔治城, 福克兰群岛
UM2 (UTC - 2:00) 中部大西洋时间, 亚森欣岛, 圣赫勒拿
UM1 (UTC - 1:00) 亚速尔群岛, 佛得角群岛
UTC (UTC) 卡萨布兰卡, 都柏林, 爱丁堡, 伦敦, 里斯本, 蒙罗维亚
UP1 (UTC + 1:00) 柏林, 布鲁塞尔, 哥本哈根, 马德里, 巴黎, 罗马
UP2 (UTC + 2:00) 加里宁格勒, 南非, 华沙
UP3 (UTC + 3:00) 巴格达, 利雅得, 莫斯科, 内罗毕
UP25 (UTC + 3:30) 德黑兰
UP4 (UTC + 4:00) 阿布扎比, 巴库, 马斯喀特, 第比利斯
UP35 (UTC + 4:30) 喀布尔
UP5 (UTC + 5:00) 伊斯兰堡, 卡拉奇, 塔什干
UP45 (UTC + 5:30) 孟买, 加尔各答, 马德拉斯, 新德里
UP6 (UTC + 6:00) 阿拉木图, 哥伦巴, 达卡
UP7 (UTC + 7:00) 曼谷, 河内, 雅加达
UP8 (UTC + 8:00) 北京, 香港, 佩斯, 新加坡, 台北
UP9 (UTC + 9:00) 大阪, 札幌, 汉城, 东京, 雅库茨克
UP85 (UTC + 9:30) 阿德莱德, 达尔文
UP10 (UTC + 10:00) 墨尔本, 巴布亚新几内亚, 悉尼, 海参崴
UP11 (UTC + 11:00) 马加丹, 新喀里多尼亚, 所罗门群岛
UP12 (UTC + 12:00) 奥克兰, 惠灵顿, 斐济, 马绍尔群岛

 

翻译贡献者: Hex, mchong, pipi95, yinzhili
最后修改: 2011-02-01 00:10:12
上一篇:下一篇: