在PHP中创建一个常量日期格式

时间:2011-09-08 06:32:13

标签: php codeigniter

我使用CI作为我的框架。如何设置CONSTANT日期格式,以便我不需要在所有文件中更改和搜索date("y-m-d")

3 个答案:

答案 0 :(得分:3)

我还没有尝试过您要求的内容,但在某处你应该能够使用define函数来定义与您的格式匹配的常量字符串,然后您可以在整个应用程序中引用该字符串。< / p>

示例:

define( 'MY_DATE_FORMAT', "y-m-d" );

$date = date( MY_DATE_FORMAT );

将其放在CodeIgniter中的地方是另一个问题。我将浏览文档并查看我能找到的内容。

HTH。

编辑:在CI网站上找到此论坛主题:http://codeigniter.com/forums/viewthread/185794/它应该让您开始了解您需要做的事情。

答案 1 :(得分:2)

这是一个常见的头文件:

define('my_date_format', 'y-m-d');

使用常量:

// remember to include the header file first
date(my_date_format);

2010-11-10 10:12:11格式化为date(m.d.y)

$myDate = new DateTime('2010-11-10 10:12:11');
$myDate->format('m.d.y');

答案 2 :(得分:0)

我认为当你说“常量”日期格式时,你的意思是每次都需要相同的输出,但在PHP意义上你并不需要一个常量。只需编写自己的函数(或在Codeigniter术语中,“帮助者”):

// Apply your default format to $format
function display_date($timestamp = NULL, $format = 'y-m-d')
{
    // Possibly do some stuff here, like strtotime() conversion
    if (is_string($timestamp)) $timestamp = strtotime($timestamp);

    // Adjust the arguments and do whatever you want!

    // Use the current time as the default
    if ($timestamp === NULL) $timestamp = time();

    return date($format, $timestamp);
}

使用示例:

echo display_date(); // Current time
echo display_date($user->last_login); // Formatted unix time
echo display_date('Next Monday'); // Accept strings

编写自己的函数可以在将来提供更大的灵活性。