登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> 程序员学前班[不再更新,只读] >> 主题: smarty 中日期显示的问题     [回主站]     [分站链接]
标题
smarty 中日期显示的问题
clq
浏览(0) + 2010-07-19 14:41:09 发表 编辑

关键字:

来自 http://labs.chinavisual.com/blog/?p=111

clq
2010-7-19 14:41:32 发表 编辑

smarty 中日期显示的问题

Posted on October 31, 2008 - Filed Under PHP技术, 下载库 | 2 Comments Author:cn.song

在开发下载库的过程中,我建立的数据库的关于日期格式都是int格式的,这样有对查询数据库比较方便,但是又出现了一个问题,在模版里面有 smarty输入的时候,使用php语句将数字格式的日期进行格式化的时候,即:

date(“1225435942″.time());

这样是不行的,

经过在网上搜索,网上的网友也碰到过这样的问题,大部份人知道使用date_format函数,但是要将”1225435942″转化成“年-月- 日 小时:分:秒”这样的格式,网上的没有资料很少,经过仔细阅读

http://www.phpchina.com/manual/smarty/language.modifier.date.format.html

以后和多次实验以后,终于发现了正确的使用方法。

即:date_format:”%Y-%m-%d %H:%M:%S”


clq
2010-7-19 14:41:49 发表 编辑

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.
输入为空时的默认时间格式。

This formats a date and time into the given strftime() format.
Dates can be passed to Smarty as unix timestamps, mysql timestamps or any string made up of month day year (parsable by strtotime).
Designers can then use date_format to have complete control of the formatting of the date.
If the date passed to date_format is empty and a second parameter is passed, that will be used as the date to format.

格式化从函数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"}

OUTPUT:

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()转换有效的区分符。
可以查看系统手册的有效区分符的全表.



总数:2 页次:1/1 首页 尾页  
总数:2 页次:1/1 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1