September 29
在Smarty模板函数里面有这样一个方法:fetch("template.htm"),他和display("template.htm");最大的不同就是fetch()是把内容输出给一个变量,而display()是把内容输出给浏览器,这样我们就可以用一个变量来接收fetch()的输出,然后把他写入到文件中去.
require_once(DIRROOT.'smarty/Smarty.class.php');
$smarty = new Smarty();
$smarty->template_dir = DIRROOT.'/smarty/template/';
$smarty->compile_dir = DIRROOT.'/smarty/tempcomp/';
$smarty->cache_dir = DIRROOT.'/smarty/caches/';
$smarty->cache_lifetime = 600 ;
$smarty->left_delimiter = "{-";
$smarty->right_delimiter = "-}";
$smarty->caching = false;
//$smarty->caching = true;
$html=$smarty->fetch("template.htm");
$fp = fopen($file_name,"w+");
if(!fwrite($fp,$html)){
die('生成html文件失败!');
}
fclose($fp);
September 15
date_format[格式化日期]
| Parameter Position
| Type
| Required
| Default
| Description
|
| 1
| string
| No
| %b %e, %Y
| This is the format for the outputted date. 输出日期的格式。
|
| 2
| string
| No
| n/a
| This is the default date if the input is empty. 输入为空时的默认时间格式。 |
格式化从函数strftime()获得的时间和日期。
Unix或者mysql等的时间戳记(parsable by strtotime)都可以传递到smarty。
设计者可以使用date_format完全控制日期格式。
如果传给date_format的数据是空的,将使用第二个参数作为时间格式。
Example 5-8. date_format[日期格式]
index.php:
$smarty = new Smarty; $smarty->assign('yesterday', strtotime('-1 day')); $smarty->display('index.tpl');
index.tpl:
{$smarty.now|date_format} {$smarty.now|date_format:"%A, %B %e, %Y"} {$smarty.now|date_format:"%H:%M:%S"} {$yesterday|date_format} {$yesterday|date_format:"%A, %B %e, %Y"} {$yesterday|date_format:"%H:%M:%S"}
输出结果:
Feb 6, 2001 Tuesday, February 6, 2001 14:33:00 Feb 5, 2001 Monday, February 5, 2001 14:33:00
|
|
Example 5-9. date_format conversion specifiers[日期转换说明]
%a - abbreviated weekday name according to the current locale (根据当地格式输出“星期”缩写格式)
%A - full weekday name according to the current locale (根据当地格式输出“星期”全称格式)
%b - abbreviated month name according to the current locale (根据当地格式输出“月”缩写格式)
%B - full month name according to the current locale (根据当地格式输出“月”全称格式)
%c - preferred date and time representation for the current locale
%C - century number (the year divided by 100 and truncated to an integer, range 00 to 99)
%d - day of the month as a decimal number (range 00 to 31)
%D - same as %m/%d/%y
%e - day of the month as a decimal number, a single digit is preceded by a space (range 1 to 31)
%g - Week-based year within century [00,99]
%G - Week-based year, including the century [0000,9999]
%h - same as %b
%H - hour as a decimal number using a 24-hour clock (range 00 to 23)
%I - hour as a decimal number using a 12-hour clock (range 01 to 12)
%j - day of the year as a decimal number (range 001 to 366)
%k - Hour (24-hour clock) single digits are preceded by a blank. (range 0 to 23)
%l - hour as a decimal number using a 12-hour clock, single digits preceeded by a space (range 1 to 12)
%m - month as a decimal number (range 01 to 12)
%M - minute as a decimal number
%n - newline character
%p - either `am' or `pm' according to the given time value, or the corresponding strings for the current locale
%r - time in a.m. and p.m. notation
%R - time in 24 hour notation
%S - second as a decimal number
%t - tab character
%T - current time, equal to %H:%M:%S
%u - weekday as a decimal number [1,7], with 1 representing Monday
%U - week number of the current year as a decimal number, starting with the first Sunday as the first day of the first week
%V - The ISO 8601:1988 week number of the current year as a decimal number, range 01 to 53, where week 1 is the first week that has at least 4 days in the current year, and with Monday as the first day of the week.
%w - day of the week as a decimal, Sunday being 0
%W - week number of the current year as a decimal number, starting with the first Monday as the first day of the first week
%x - preferred date representation for the current locale without the time
%X - preferred time representation for the current locale without the date
%y - year as a decimal number without a century (range 00 to 99)
%Y - year as a decimal number including the century
%Z - time zone or name or abbreviation
%% - a literal `%' character
PROGRAMMERS NOTE: date_format is essentially a wrapper to PHP's strftime() function. You may have more or less conversion specifiers available depending on your system's strftime() function where PHP was compiled. Check your system's manpage for a full list of valid specifiers.
程序员提示:date_format本质上是php的strftime()函数的一个包装。 当php被编译的时候你可以或多或少的依靠系统的strftime()转换有效的区分符。 可以查看系统手册的有效区分符的全表.
|
|