ci中模板如何格式化ci 输出模板时间

关键字:    
当前位置: >
CodeIgniter模板引擎使用方法
CodeIgniter模板引擎使用方法
&&&div id=&contents&&&?=&$contents&?&&/div&
&&&div id=&footer&&Copyright 2008&/div&
$contents是你在控制器中显示需要插入的内容。
四、创建一个视图application/views/about.php
添加如下代码:
&h1&About&/h1&
&p&I'm so human!&/p&
在模板引擎中载入视图
在你的控制器中可以使用
$this-&template-&load('template',&'about');
这个模板引擎工作流程:
视图被载入到一个变量中,这个变量会被载入到模板中去
var&$template_data&=&array();
function&set($name,&$value)
&$this-&template_data[$name] =&$value;
function&load($template&=&'',&$view&=&''&,&$view_data&=&array(),&$return&= FALSE)
&$this-&CI =& get_instance();
&$this-&set('contents',&$this-&CI-&load-&view($view,&$view_data, TRUE));
&return&$this-&CI-&load-&view($template,&$this-&template_data,&$return);
五、技巧总结:
高级技巧1:模板中更简单的短标记
例子:你如果需要在页面中显示标题。
那么在HTML的头部views/template.php增加:
&&&title&&?=&$title&?&&/title&
然后直接在控制器中设置:
$this-&template-&set('title',&'About me');
高级技巧2:高亮显示当前导航
导航通常是被用于在模板中,一个体验好的导航应该告诉用户当前所处的位置分类是什么。
定义你的导航项目:
引入application/libraries/Template.php,然后在控制器中增加:
$this-&set('nav_list',&array('Home',&'Photos',&'About',&'Contact'));
更新你的模板:
在application/views/template.php中增加:
&ul&class=&navigation&&
&&?php&foreach($nav_list&as&$i&=&&$nav_item): ?&
&&li&class=&&?= ($nav == $nav_item ? 'selected' : '')?&&&
&&?= anchor($nav_item,&$nav_item) ?&
&&?php&endforeach&?&
这里用到了anchor函数,需要在自动加载配置中增加相关的小助手:
$autoload['helper'] =&array('url');
更新你的控制器:
$this-&template-&set('nav',&'About');
需要注意:
1&如果所有的导航都在一个控制器中,你可以在析构函数中增加通用的导航代码;
2&定义好当前导航的样式,例如:#navigation .selected
高级技巧3:多模板
最简单处理多个模板,可以在libraries/Template.php定义多个新的方法来替换已经存在的内容,第二个高级技巧使用自定义的方法:
function&load_main($view&=&'',&$view_data&=&array(),&$return&= FALSE)
&$this-&set('nav_list',&array('Home',&'Photos',&'About',&'Contact'));
&$this-&load('template',&$view,&$view_data,&$return);
将代码粘贴到控制器中
$this-&template-&set('nav',&'About');
$this-&template-&set('title',&'About me');
$this-&template-&load_main('about');
网友对“CodeIgniter模板引擎使用方法”的评论
& 下一篇:
本类热门资讯
增值电信业务经营许可证:苏B2-CopyRight ©
Down.Admin5.Com
All Rights reserved.在模板输出时间格式,怎么把时间戳转成日期? - ThinkPHP框架
如题,谢谢
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。ci文件格式查询、文件类型信息、文件打开方式(编辑)软件查询--查错网
ci是什么格式、ci怎么打开(编辑)、ci格式信息
文件格式及打开方式:
格式:【ci】文件打开编辑方式信息:执行程序产品名称详细说明开发公司执行方式流行程度ci-free.exe&&&openLow格式:【ci】文件格式说明、类型说明:分类名详细说明Perceived Type内容类型DLL/EXE FileDLL/EXE Details流行程度ci_auto_fileSetupbestand in aanmaak&&&&Low
大家查询的文件格式
&& && && && && && && && && && && && && && && && && && && &&自定义日期和时间格式字符串
我的图书馆
自定义日期和时间格式字符串
值的文本表示形式。
值一起使用。
方法或支持复合格式的方法结合使用。
下面的示例演示了这两种用法。
DateTime thisDate1 = new DateTime();
Console.WriteLine("Today is " + thisDate1.ToString("MMMM dd, yyyy") + ".");
DateTimeOffset thisDate2 = new DateTimeOffset(, 15, 24, 16,
TimeSpan.Zero);
Console.WriteLine("The current date and time: {0:MM/dd/yy H:mm:ss zzz}",
thisDate2);
// The example displays the following output:
Today is June 10, 2011.
The current date and time: 06/10/11 15:24:16 +00:00
ParseExact、、 和
这些方法需要一个完全符合使分析操作成功所需的特定模式的输入字符串。 ParseExact(String, String, IFormatProvider) 方法的调用,以分析必须包括日、月和两位数年份的日期。
using System.G
public class Example
public static void Main()
string[] dateValues = { "30-12-2011", "12-30-2011",
"30-12-11", "12-30-11" };
string pattern = "MM-dd-yy";
DateTime parsedD
foreach (var dateValue in dateValues) {
if (DateTime.TryParseExact(dateValue, pattern, null,
DateTimeStyles.None, out parsedDate))
Console.WriteLine("Converted '{0}' to {1:d}.",
dateValue, parsedDate);
Console.WriteLine("Unable to convert '{0}' to a date and time.",
dateValue);
// The example displays the following output:
Unable to convert '30-12-2011' to a date and time.
Unable to convert '12-30-2011' to a date and time.
Unable to convert '30-12-11' to a date and time.
Converted '12-30-11' to 12/30/2011.
默认情况下,结果字符串反映 zh-cn 区域性的格式设置约定。 如果特定格式说明符生成本地化结果字符串,则该示例还注明结果字符串适用的区域性。
格式说明符
一个月中的某一天(1 到 31)。
6/1/:30 PM -& 1
6/15/:30 PM -& 15
一个月中的某一天(01 到 31)。
6/1/:30 PM -& 01
6/15/:30 PM -& 15
一周中某天的缩写名称。
6/15/:30 PM -& Mon (zh-cn)
6/15/:30 PM -& Пн (ru-RU)
6/15/:30 PM -& lun.(fr-FR)
一周中某天的完整名称。
6/15/:30 PM -& Monday (zh-cn)
6/15/:30 PM -& понедельник (ru-RU)
6/15/:30 PM -& lundi (fr-FR)
6/15/:30.617 -& 6
6/15/:30.050 -& 0
6/15/:30.617 -& 61
6/15/:30.005 -& 00
6/15/:30.617 -& 617
6/15/:30.0005 -& 000
6/15/:30.6175 -& 6175
6/15/:30.00005 -& 0000
6/15/:30.61754 -& 61754
6/15/:30.000005 -& 00000
“ffffff”
6/15/:30.617542 -& 617542
6/15/:30.0000005 -& 000000
“fffffff”
6/15/:30.6175425 -& 6175425
6/15/:30.0001150 -& 0001150
6/15/:30.617 -& 6
6/15/:30.050 -&(无输出)
6/15/:30.617 -& 61
6/15/:30.005 -&(无输出)
6/15/:30.617 -& 617
6/15/:30.0005 -&(无输出)
6/1/:30.5275 -& 5275
6/15/:30.00005 -&(无输出)
6/15/:30.61754 -& 61754
6/15/:30.000005 -&(无输出)
“FFFFFF”
6/15/:30.617542 -& 617542
6/15/:30.0000005 -&(无输出)
“FFFFFFF”
6/15/:30.6175425 -& 6175425
6/15/:30.0001150 -& 000115
“g”、“gg”
时期或纪元。
6/15/:30 PM -& A.D.
采用 12 小时制的小时(从 1 到 12)。
6/15/:30 AM -& 1
6/15/:30 PM -& 1
采用 12 小时制的小时(从 01 到 12)。
6/15/:30 AM -& 01
6/15/:30 PM -& 01
采用 24 小时制的小时(从 0 到 23)。
6/15/:30 AM -& 1
6/15/:30 PM -& 13
采用 24 小时制的小时(从 00 到 23)。
6/15/:30 AM -& 01
6/15/:30 PM -& 13
6/15/:30 PM(未指定类型)-&
6/15/:30 PM(UTC 类型)-& Z
6/15/:30 PM(本地类型)-& -07:00(取决于本地计算机设置)
6/15/:30 AM -07:00 --& -07:00
6/15/:30 AM +00:00 --& +00:00
分钟(0 到 59)。
6/15/:30 AM -& 9
6/15/:30 PM -& 9
分钟(00 到 59)。
6/15/:30 AM -& 09
6/15/:30 PM -& 09
月份(1 到 12)。
6/15/:30 PM -& 6
月份(1 到 12)。
6/15/:30 PM -& 06
月份的缩写名称。
6/15/:30 PM -& Jun (zh-cn)
6/15/:30 PM -& juin (fr-FR)
6/15/:30 PM -& Jun (zu-ZA)
月份的完整名称。
6/15/:30 PM -& June (zh-cn)
6/15/:30 PM -& juni (da-DK)
6/15/:30 PM -& uJuni (zu-ZA)
秒(0 到 59)。
6/15/:09 PM -& 9
秒(00 到 59)。
6/15/:09 PM -& 09
AM/PM 指示符的第一个字符。
6/15/:30 PM -& P (zh-cn)
6/15/:30 PM -& 午 (ja-JP)
6/15/:30 PM -& (fr-FR)
AM/PM 指示符。
6/15/:30 PM -& PM (zh-cn)
6/15/:30 PM -& 午後 (ja-JP)
6/15/:30 PM -& (fr-FR)
年份(0 到 99)。
1/1/:00 AM -& 1
1/1/:00 AM -& 0
1/1/:00 AM -& 0
6/15/:30 PM -& 9
年份(00 到 99)。
1/1/:00 AM -& 01
1/1/:00 AM -& 00
1/1/:00 AM -& 00
6/15/:30 PM -& 09
年份(最少三位数字)。
1/1/:00 AM -& 001
1/1/:00 AM -& 900
1/1/:00 AM -& 1900
6/15/:30 PM -& 2009
由四位数字表示的年份。
1/1/:00 AM -& 0001
1/1/:00 AM -& 0900
1/1/:00 AM -& 1900
6/15/:30 PM -& 2009
由五位数字表示的年份。
1/1/:00 AM -& 00001
6/15/:30 PM -& 02009
相对于 UTC 的小时偏移量,无前导零。
6/15/:30 PM -07:00 -& -7
相对于 UTC 的小时偏移量,带有表示一位数值的前导零。
6/15/:30 PM -07:00 -& -07
相对于 UTC 的小时和分钟偏移量。
6/15/:30 PM -07:00 -& -07:00
6/15/:30 PM -& : (zh-cn)
6/15/:30 PM -& .(it-IT)
6/15/:30 PM -& : (ja-JP)
6/15/:30 PM -& / (zh-cn)
6/15/:30 PM -& - (ar-DZ)
6/15/:30 PM -& .(tr-TR)
文本字符串分隔符。
6/15/:30 PM ("arr:" h:m t) -& arr: 1:45 P
6/15/:30 PM ('arr:' h:m t) -& arr: 1:45 P
将下面的字符定义为自定义格式说明符。
6/15/:30 PM (%h) -& 1
转义字符。
6/15/:30 PM (h \h) -& 1 h
任何其他字符
字符将复制到未更改的结果字符串。
6/15/:30 AM (arr hh:mm t) -& arr 01:45 A
值一起使用还是与
值一起使用无关。
“d”自定义格式说明符将一个月中的某一天表示为从 1 到 31 的数字。
一位数的日期设置为不带前导零的格式。
下面的示例在几个格式字符串中包含“d”自定义格式说明符。
DateTime date1 = new DateTime(, 19, 27, 15);
Console.WriteLine(date1.ToString("d, M",
CultureInfo.InvariantCulture));
// Displays 29, 8
Console.WriteLine(date1.ToString("d MMMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays 29 August
Console.WriteLine(date1.ToString("d MMMM",
CultureInfo.CreateSpecificCulture("es-MX")));
// Displays 29 agosto
“dd”自定义格式字符串将一个月中的某一天表示为从 01 到 31 的数字。
一位数的日期设置为带有前导零的格式。
下面的示例在一个自定义格式字符串中包含“dd”自定义格式说明符。
DateTime date1 = new DateTime(, 6, 30, 15);
Console.WriteLine(date1.ToString("dd, MM",
CultureInfo.InvariantCulture));
“ddd”自定义格式说明符表示一周中某天的缩写名称。
AbbreviatedDayNames 属性进行检索。
下面的示例在一个自定义格式字符串中包含“ddd”自定义格式说明符。
DateTime date1 = new DateTime(, 19, 27, 15);
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays ven. 29 ao?t
“dddd”自定义格式说明符(以及任意数量的附加“d”说明符)表示一周中某天的完整名称。
DayNames 属性进行检索。
下面的示例在一个自定义格式字符串中包含“dddd”自定义格式说明符。
DateTime date1 = new DateTime(, 19, 27, 15);
Console.WriteLine(date1.ToString("dddd dd MMMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM",
CultureInfo.CreateSpecificCulture("it-IT")));
// Displays venerdì 29 agosto
方法的“f”格式说明符时,所用的“f”格式说明符的数目指示为成功分析字符串而必须呈现的秒部分的最高有效位的数目。
下面的示例在一个自定义格式字符串中包含“f”自定义格式说明符。
DateTime date1 = new DateTime(, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantC
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
下面的示例在一个自定义格式字符串中包含“ff”自定义格式说明符。
DateTime date1 = new DateTime(, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantC
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
下面的示例在一个自定义格式字符串中包含“fff”自定义格式说明符。
DateTime date1 = new DateTime(, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantC
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
在 Windows NT 3.5 版和更高版本以及 Windows Vista 操作系统上,时钟的分辨率大约为 10-15 毫秒。
在 Windows NT 3.5 和更高版本以及 Windows Vista 操作系统上,时钟的分辨率大约为 10-15 毫秒。
在 Windows NT 3.5 和更高版本以及 Windows Vista 操作系统上,时钟的分辨率大约为 10-15 毫秒。
在 Windows NT 3.5 和更高版本以及 Windows Vista 操作系统上,时钟的分辨率大约为 10-15 毫秒。
如果该数字为零,则不显示任何内容。
方法的“F”格式说明符的数目指示为成功分析字符串而可以呈现的秒部分的最高有效位的最大数目。
下面的示例在一个自定义格式字符串中包含“F”自定义格式说明符。
DateTime date1 = new DateTime(, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantC
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
但不显示尾随零或两个零位。
下面的示例在一个自定义格式字符串中包含“FF”自定义格式说明符。
DateTime date1 = new DateTime(, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantC
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
但不显示尾随零或三个零位。
下面的示例在一个自定义格式字符串中包含“FFF”自定义格式说明符。
DateTime date1 = new DateTime(, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantC
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
但不显示尾随零或四个零位。
在 Windows NT 3.5 和更高版本以及 Windows Vista 操作系统上,时钟的分辨率大约为 10-15 毫秒。
但不显示尾随零或五个零位。
在 Windows NT 3.5 和更高版本以及 Windows Vista 操作系统上,时钟的分辨率大约为 10-15 毫秒。
但不显示尾随零或六个零位。
在 Windows NT 3.5(和更高版本)和 Windows Vista 操作系统中,时钟的解析度大约为 10-15 毫秒。
但不显示尾随零或七个零位。
在 Windows NT 3.5 和更高版本以及 Windows Vista 操作系统上,时钟的分辨率大约为 10-15 毫秒。
“g”或“gg”自定义格式说明符(以及任意数量的附加“g”说明符)表示时期或纪元(例如 A.D)。
下面的示例在一个自定义格式字符串中包含“g”自定义格式说明符。
DateTime date1 = new DateTime(70, 08, 04);
Console.WriteLine(date1.ToString("MM/dd/yyyy g",
CultureInfo.InvariantCulture));
// Displays 08/04/0070 A.D.
Console.WriteLine(date1.ToString("MM/dd/yyyy g",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 08/04/0070 ap. J.-C.
“h”自定义格式说明符将小时表示为从 1 至 12 的数字,即采用 12 小时制表示小时,自午夜或中午开始对整小时计数。
午夜后经过的某特定小时数与中午过后的相同小时数无法加以区分。 小时数不进行舍入,一位数字的小时数设置为不带前导零的格式。
下面的示例在一个自定义格式字符串中包含“h”自定义格式说明符。
DateTime date1;
date1 = new DateTime(, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 μ
date1 = new DateTime(, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 μ
“hh”自定义格式说明符(以及任意数量的附加“h”说明符)将小时表示为从 01 至 12 的数字,即采用 12 小时制表示小时,自午夜或中午开始对整小时计数。
午夜后经过的某特定小时数与中午过后的相同小时数无法加以区分。 小时数不进行舍入,一位数字的小时数设置为带前导零的格式。
下面的示例在一个自定义格式字符串中包含“hh”自定义格式说明符。
DateTime date1;
date1 = new DateTime(, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
“H”自定义格式说明符将小时表示为从 0 至 23 的数字,即通过从零开始的 24 小时制表示小时,自午夜或中午开始对整小时计数。
一位数字的小时数设置为不带前导零的格式。
下面的示例在一个自定义格式字符串中包含“H”自定义格式说明符。
DateTime date1 = new DateTime(, 6, 9, 1);
Console.WriteLine(date1.ToString("H:mm:ss",
CultureInfo.InvariantCulture));
// Displays 6:09:01
“HH”自定义格式说明符(以及任意数量的附加“H”说明符)将小时表示为从 00 至 23 的数字,即通过从零开始的 24 小时制表示小时,自午夜或中午开始对整小时计数。
一位数字的小时数设置为带前导零的格式。
下面的示例在一个自定义格式字符串中包含“HH”自定义格式说明符。
DateTime date1 = new DateTime(, 6, 9, 1);
Console.WriteLine(date1.ToString("HH:mm:ss",
CultureInfo.InvariantCulture));
// Displays 06:09:01
值一起使用时,结果字符串由
属性的值进行定义:
属性值),此说明符等效于“zzz”说明符,并产生一个包含相对于协调世界时 (UTC) 的本地偏移量的结果字符串,例如“-07:00”。
属性值),结果字符串包含用于表示 UTC 日期的“Z”字符。
Kind 属性等于
的时间),结果等效于 。
值,“K”格式说明符等效于“zz”格式说明符,并产生包含
值相对于 UTC 的偏移量的结果字符串。
值使用"K"自定义格式说明符所产生的字符串。
Console.WriteLine(DateTime.Now.ToString("%K"));
// Displays -07:00
Console.WriteLine(DateTime.UtcNow.ToString("%K"));
// Displays Z
Console.WriteLine("'{0}'",
DateTime.SpecifyKind(DateTime.Now,
DateTimeKind.Unspecified).ToString("%K"));
// Displays ''
Console.WriteLine(DateTimeOffset.Now.ToString("%K"));
// Displays -07:00
Console.WriteLine(DateTimeOffset.UtcNow.ToString("%K"));
// Displays +00:00
Console.WriteLine(new DateTimeOffset(, 6, 30, 0,
new TimeSpan(5, 0, 0)).ToString("%K"));
// Displays +05:00
“m”自定义格式说明符将分钟表示为从 0 到 59 的数字。
分钟表示自上一小时以来经过的整分钟数。 一位数字的分钟数设置为不带前导零的格式。
下面的示例在一个自定义格式字符串中包含“m”自定义格式说明符。
DateTime date1;
date1 = new DateTime(, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 μ
date1 = new DateTime(, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 μ
“mm”自定义格式说明符(以及任意数量的附加“m”说明符)将分钟表示为从 00 到 59 的数字。
分钟表示自上一小时以来经过的整分钟数。 一位数字的分钟数设置为带前导零的格式。
下面的示例在一个自定义格式字符串中包含“mm”自定义格式说明符。
DateTime date1;
date1 = new DateTime(, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
“M”自定义格式说明符将月份表示为从 1 到 12 的数字(对于有 13 个月的日历,将月份表示为从 1 到 13 的数字)。
一位数字的月份数设置为不带前导零的格式。
下面的示例在一个自定义格式字符串中包含“M”自定义格式说明符。
DateTime date1 = new DateTime();
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays (8) Aug, August
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
CultureInfo.CreateSpecificCulture("nl-NL")));
// Displays (8) aug, augustus
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
CultureInfo.CreateSpecificCulture("lv-LV")));
// Displays (8) Aug, augusts
“MM”自定义格式说明符将月份表示为从 01 到 12 的数字(对于有 13 个月的日历,将月份表示为从 1 到 13 的数字)。
一位数字的月份数设置为带有前导零的格式。
下面的示例在一个自定义格式字符串中包含“MM”自定义格式说明符。
DateTime date1 = new DateTime(, 6, 30, 15);
Console.WriteLine(date1.ToString("dd, MM",
CultureInfo.InvariantCulture));
“MMM”自定义格式说明符表示月份的缩写名称。
AbbreviatedMonthNames 属性进行检索。
下面的示例在一个自定义格式字符串中包含“MMM”自定义格式说明符。
DateTime date1 = new DateTime(, 19, 27, 15);
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays ven. 29 ao?t
“MMMM”自定义格式说明符表示月份的完整名称。
MonthNames 属性进行检索。
下面的示例在一个自定义格式字符串中包含“MMMM”自定义格式说明符。
DateTime date1 = new DateTime(, 19, 27, 15);
Console.WriteLine(date1.ToString("dddd dd MMMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM",
CultureInfo.CreateSpecificCulture("it-IT")));
// Displays venerdì 29 agosto
“s”自定义格式说明符将秒表示为从 0 到 59 的数字。
结果表示自上一分钟以来经过的整秒数。 一位数字的秒数设置为不带前导零的格式。
下面的示例在一个自定义格式字符串中包含“s”自定义格式说明符。
DateTime date1;
date1 = new DateTime(, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 μ
date1 = new DateTime(, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 μ
“ss”自定义格式说明符(以及任意数量的附加“s”说明符)将秒表示为从 00 到 59 的数字。
结果表示自上一分钟以来经过的整秒数。 一位数字的秒数设置为带前导零的格式。
下面的示例在一个自定义格式字符串中包含“ss”自定义格式说明符。
DateTime date1;
date1 = new DateTime(, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
“t”自定义格式说明符表示 AM/PM 指示符的第一个字符。
AMDesignator 或
属性进行检索。
下面的示例在一个自定义格式字符串中包含“t”自定义格式说明符。
DateTime date1;
date1 = new DateTime(, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 μ
date1 = new DateTime(, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 μ
“tt”自定义格式说明符(以及任意数量的附加“t”说明符)表示整个 AM/PM 指示符。
AMDesignator 或
属性进行检索。
对于需要维护 AM 与 PM 之间的差异的语言,应确保使用“tt”说明符。
以日语为例,其 AM 和 PM 指示符的差异点为第二个字符,而非第一个字符。
下面的示例在一个自定义格式字符串中包含“tt”自定义格式说明符。
DateTime date1;
date1 = new DateTime(, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
“y”自定义格式说明符将年份表示为一位或两位数字。
如果年份多于两位数,则结果中仅显示两位低位数。 如果两位数字的年份的第一个数字以零开始(例如,2008),则该数字设置为不带前导零的格式。
下面的示例在一个自定义格式字符串中包含“y”自定义格式说明符。
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime();
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
“yy”自定义格式说明符将年份表示为一位或两位数字。
如果年份多于两位数,则结果中仅显示两位低位数。 如果两位数年份的有效数字少于两个,则用前导零填充该数字以产生两位数。
TwoDigitYearMax 属性被释义的。
对象以便使用其
属性已更改的
using System.G
using System.T
public class Example
public static void Main()
string fmt = "dd-MMM-yy";
string value = "24-Jan-49";
Calendar cal = (Calendar) CultureInfo.CurrentCulture.Calendar.Clone();
Console.WriteLine("Two Digit Year Range: {0} - {1}",
cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax);
Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, null));
Console.WriteLine();
cal.TwoDigitYearMax = 2099;
CultureInfo culture = (CultureInfo) CultureInfo.CurrentCulture.Clone();
culture.DateTimeFormat.Calendar =
Thread.CurrentThread.CurrentCulture =
Console.WriteLine("Two Digit Year Range: {0} - {1}",
cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax);
Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, null));
// The example displays the following output:
Two Digit Year Range: 1930 - 2029
Two Digit Year Range: 2000 - 2099
下面的示例在一个自定义格式字符串中包含“yy”自定义格式说明符。
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime();
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
“yyy”自定义格式说明符至少使用三位数字表示年份。
如果年份的有效数字多于三个,则将它们包括在结果字符串中。 如果年份少于三位数,则用前导零填充该数字以产生三位数。
对于年份可以为五位数的泰国佛历,此格式说明符将显示全部有效数字。
下面的示例在一个自定义格式字符串中包含“yyy”自定义格式说明符。
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime();
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
“yyyy”自定义格式说明符至少使用四位数字表示年份。
如果年份的有效数字多于四个,则将它们包括在结果字符串中。 如果年份少于四位数,则用前导零填充该数字使其达到四位数。
对于年份可以为五位数的泰国佛历,此格式说明符将最少显示四位数字。
下面的示例在一个自定义格式字符串中包含“yyyy”自定义格式说明符。
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime();
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
“yyyyy”自定义格式说明符(以及任意数量的附加“y”说明符)最少将年份表示为五位数字。
如果年份的有效数字多于五个,则将它们包括在结果字符串中。 如果年份少于五位数,则用前导零填充该数字以产生五位数。
如果存在额外的“y”说明符,则用所需个数的前导零填充该数字以产生“y”说明符的数目。
下面的示例在一个自定义格式字符串中包含“yyyyy”自定义格式说明符。
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime();
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
值一起使用时,“z”自定义格式说明符表示本地操作系统的时区相对于协调世界时 (UTC) 的有符号偏移量(以小时为单位)。
Kind 属性的值。
值一起使用。
值一起使用时,此格式说明符表示
值相对于 UTC 的偏移量(以小时为单位)。
偏移量始终显示为带有前导符号。
一位数字的偏移量设置为不带前导零的格式。
下面的示例在一个自定义格式字符串中包含“z”自定义格式说明符。
DateTime date1 = DateTime.UtcN
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
// Displays -7, -07, -07:00
DateTimeOffset date2 = new DateTimeOffset(, 0, 0, 0,
new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
// Displays +6, +06, +06:00
值一起使用时,“zz”自定义格式说明符表示本地操作系统的时区相对于 UTC 的有符号偏移量(以小时为单位)。
Kind 属性的值。
值一起使用。
值一起使用时,此格式说明符表示
值相对于 UTC 的偏移量(以小时为单位)。
偏移量始终显示为带有前导符号。
一位数字的偏移量设置为带前导零的格式。
下面的示例在一个自定义格式字符串中包含“zz”自定义格式说明符。
DateTime date1 = DateTime.UtcN
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
// Displays -7, -07, -07:00
DateTimeOffset date2 = new DateTimeOffset(, 0, 0, 0,
new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
// Displays +6, +06, +06:00
值一起使用时,“zzz”自定义格式说明符表示本地操作系统的时区相对于 UTC 的有符号偏移量(以小时和分钟为单位)。
Kind 属性的值。
值一起使用。
值一起使用时,此格式说明符表示
值相对于 UTC 的偏移量(以小时和分钟为单位)。
偏移量始终显示为带有前导符号。
一位数字的偏移量设置为带前导零的格式。
下面的示例在一个自定义格式字符串中包含“zzz”自定义格式说明符。
DateTime date1 = DateTime.UtcN
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
// Displays -7, -07, -07:00
DateTimeOffset date2 = new DateTimeOffset(, 0, 0, 0,
new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
// Displays +6, +06, +06:00
TimeSeparator 属性进行检索。
DateSeparator 属性。
使用单个自定义格式说明符
格式说明符。
”将被解释为一个自定义日期和时间格式字符串,用于显示当前日期和时间值表示的小时。
也可以使用“ h”或“h ”格式字符串,尽管它在结果字符串及小时中包含一个空格。 下面的示例阐释了这三个格式字符串。
DateTime dat1 = new DateTime(, 13, 45, 0);
Console.WriteLine("'{0:%h}'", dat1);
Console.WriteLine("'{0: h}'", dat1);
Console.WriteLine("'{0:h }'", dat1);
// The example displays the following output:
使用转义字符
格式字符串中的“d”、“f”、“F”、“g”、“h”、“H”、“K”、“m”、“M”、“s”、“t”、“y”、“z”、“:”或“/”字符被解释为自定义格式说明符而不是文本字符。
若要防止某个字符被解释为格式说明符,你可以在该字符前面加上反斜杠 (\)(即转义字符)。 转义字符表示以下字符为应包含在未更改的结果字符串中的字符文本。
若要在结果字符串中包括反斜杠,你必须再使用一个反斜杠对其进行转义 (\\)。
一些编译器(如 C++ 和 C# 编译器)也可能会将单个反斜杠字符解释为转义字符。
若要确保在设置格式时正确解释字符串,在 C# 中,可以在字符串之前使用原义字符串文本字符(@ 字符),或者在 C# 和 C++ 中,在每个反斜杠之前另外添加一个反斜杠字符。 下面的 C# 示例阐释了这两种方法。
下面的示例使用转义字符,以防止格式设置操作将“h”和“m”字符解释为格式说明符。
DateTime date = new DateTime(, 13, 45, 30, 90);
string fmt1 = "h \\h m \\m";
string fmt2 = @"h \h m \m";
Console.WriteLine("{0} ({1}) -& {2}", date, fmt1, date.ToString(fmt1));
Console.WriteLine("{0} ({1}) -& {2}", date, fmt2, date.ToString(fmt2));
// The example displays the following output:
6/15/:30 PM (h \h m \m) -& 1 h 45 m
6/15/:30 PM (h \h m \m) -& 1 h 45 m
控制面板设置
设置会影响其产生的结果字符串。
对象,当前线程区域性提供用于控制格式设置的值。 使用不同设置的计算机将生成不同的结果字符串。
CultureInfo(String) 构造函数实例化一个新的
对象以表示与当前的系统区域性相同的区域性,则通过控制面板中的“区域和语言选项”建立的任何自定义都将应用到新的
CultureInfo(String, Boolean) 构造函数来创建不会反映系统的自定义项的
DateTimeFormatInfo 属性
对象的属性影响,其由当前线程区域性隐式提供或由调用格式化的方法的
参数显式提供。
参数,应当指定一个表示区域性的
对象或指定一个
对象的属性。
属性,可以改变由某些自定义日期和时间格式说明符产生的结果。
字符串数组中找到的缩写的星期名称添加到结果字符串。
字符串数组中找到的月的完整名称添加到结果字符串。
TA的最新馆藏
喜欢该文的人也喜欢

我要回帖

更多关于 格式化日期时间输出 的文章

 

随机推荐