String Format for DateTime
This example shows how to format DateTime using String.Format method. All formatting can be done also using DateTime.ToString method.
Custom DateTime Formatting
There are following custom format specifiers y
(year), M
(month), d
(day), h
(hour 12), H
(hour 24), m
(minute), s
(second), f
(second fraction), F
(second fraction, trailing zeroes are trimmed),t
(P.M or A.M) and z
(time zone).
Following examples demonstrate how are the format specifiers rewritten to the output.
- // create date time 2008-03-09 16:05:07.123
- DateTime dt = new DateTime(, , , , , , );
- String.Format("{0:y yy yyy yyyy}", dt); // "8 08 008 2008" year
- String.Format("{0:M MM MMM MMMM}", dt); // "3 03 Mar March" month
- String.Format("{0:d dd ddd dddd}", dt); // "9 09 Sun Sunday" day
- String.Format("{0:h hh H HH}", dt); // "4 04 16 16" hour 12/24
- String.Format("{0:m mm}", dt); // "5 05" minute
- String.Format("{0:s ss}", dt); // "7 07" second
- String.Format("{0:f ff fff ffff}", dt); // "1 12 123 1230" sec.fraction
- String.Format("{0:F FF FFF FFFF}", dt); // "1 12 123 123" without zeroes
- String.Format("{0:t tt}", dt); // "P PM" A.M. or P.M.
- String.Format("{0:z zz zzz}", dt); // "-6 -06 -06:00" time zone
You can use also date separator /
(slash) and time sepatator :
(colon). These characters will be rewritten to characters defined in the current DateTimeFormatInfo.DateSeparator andDateTimeFormatInfo.TimeSeparator.
- // date separator in german culture is "." (so "/" changes to ".")
- String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "9/3/2008 16:05:07" - english (en-US)
- String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "9.3.2008 16:05:07" - german (de-DE)
Here are some examples of custom date and time formatting:
- // month/day numbers without/with leading zeroes
- String.Format("{0:M/d/yyyy}", dt); // "3/9/2008"
- String.Format("{0:MM/dd/yyyy}", dt); // "03/09/2008"
- // day/month names
- String.Format("{0:ddd, MMM d, yyyy}", dt); // "Sun, Mar 9, 2008"
- String.Format("{0:dddd, MMMM d, yyyy}", dt); // "Sunday, March 9, 2008"
- // two/four digit year
- String.Format("{0:MM/dd/yy}", dt); // "03/09/08"
- String.Format("{0:MM/dd/yyyy}", dt); // "03/09/2008"
Standard DateTime Formatting
In DateTimeFormatInfo there are defined standard patterns for the current culture. For example property ShortTimePattern is string that contains value h:mm tt
for en-US culture and value HH:mm
for de-DE culture.
Following table shows patterns defined in DateTimeFormatInfo and their values for en-US culture. First column contains format specifiers for the String.Format method.
Specifier | DateTimeFormatInfo property | Pattern value (for en-US culture) |
---|---|---|
t |
ShortTimePattern | h:mm tt |
d |
ShortDatePattern | M/d/yyyy |
T |
LongTimePattern | h:mm:ss tt |
D |
LongDatePattern | dddd, MMMM dd, yyyy |
f |
(combination of D and t ) |
dddd, MMMM dd, yyyy h:mm tt |
F |
FullDateTimePattern | dddd, MMMM dd, yyyy h:mm:ss tt |
g |
(combination of d and t ) |
M/d/yyyy h:mm tt |
G |
(combination of d and T ) |
M/d/yyyy h:mm:ss tt |
m , M |
MonthDayPattern | MMMM dd |
y , Y |
YearMonthPattern | MMMM, yyyy |
r , R |
RFC1123Pattern | ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (*) |
s |
SortableDateTimePattern | yyyy'-'MM'-'dd'T'HH':'mm':'ss (*) |
u |
UniversalSortableDateTimePattern | yyyy'-'MM'-'dd HH':'mm':'ss'Z' (*) |
(*) = culture independent |
Following examples show usage of standard format specifiers in String.Format method and the resulting output.
- String.Format("{0:t}", dt); // "4:05 PM" ShortTime
- String.Format("{0:d}", dt); // "3/9/2008" ShortDate
- String.Format("{0:T}", dt); // "4:05:07 PM" LongTime
- String.Format("{0:D}", dt); // "Sunday, March 09, 2008" LongDate
- String.Format("{0:f}", dt); // "Sunday, March 09, 2008 4:05 PM" LongDate+ShortTime
- String.Format("{0:F}", dt); // "Sunday, March 09, 2008 4:05:07 PM" FullDateTime
- String.Format("{0:g}", dt); // "3/9/2008 4:05 PM" ShortDate+ShortTime
- String.Format("{0:G}", dt); // "3/9/2008 4:05:07 PM" ShortDate+LongTime
- String.Format("{0:m}", dt); // "March 09" MonthDay
- String.Format("{0:y}", dt); // "March, 2008" YearMonth
- String.Format("{0:r}", dt); // "Sun, 09 Mar 2008 16:05:07 GMT" RFC1123
- String.Format("{0:s}", dt); // "2008-03-09T16:05:07" SortableDateTime
- String.Format("{0:u}", dt); // "2008-03-09 16:05:07Z" UniversalSortableDateTime
String Format for DateTime的更多相关文章
- String Format for DateTime [C#]
This example shows how to format DateTime using String.Format method. All formatting can be done als ...
- c# string.format和tostring()
字符 说明 示例 输出 C 货币 string.Format("{0:C3}", 2) $2.000 D 十进制 string.Format("{0:D3}", ...
- 用DateTime.ToString(string format)输出不同格式的日期
http://www.cnblogs.com/xvqm00/archive/2009/02/19/1394093.html DateTime.ToString()函数有四个重载.一般用得多的就是不带参 ...
- 异常-----Can't convert the date to string, because it is not known which parts of the date variable are in use. Use ?date, ?time or ?datetime built-in, or ?string.\u003Cformat> or ?string(format) built-
1.错误描述 五月 27, 2014 12:07:05 上午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template proc ...
- String.Format,DateTime日期时间格式化
DateTime dt = DateTime.Now;//2010年10月4日 17点05分 string str = ""; //st ...
- [转]用DateTime.ToString(string format)输出不同格式的日期
DateTime.ToString()函数有四个重载.一般用得多的就是不带参数的那个了.殊不知,DateTime.ToString(string format)功能更强大,能输出不同格式的日期.以下把 ...
- 【转】string.Format对C#字符串格式化
转自:http://blog.csdn.net/samsone/article/details/7556781 1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) str ...
- C#中string.format用法详解
C#中string.format用法详解 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Form ...
- string.Format格式化用法详解
1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0 ...
随机推荐
- OpenJudge计算概论-找最大数序列
/*===================================== 找最大数序列 总时间限制: 1000ms 内存限制: 65536kB 描述 输入n行(n 不大于 30),每行不超过10 ...
- nginx windows 版 创建windows 服务
使用的工具 Windows Service Wrapper 使用的指令 nginx -s top Windows Service Wrapper 工具的使用: 1. 定义xml 文件: 说明如下: ...
- html之hr,form标签
<hr>标签:在html页面中创建一条水平线,可在视觉上将文档分隔成多个部分 <form>:块级标签,前后会产生折行 标签用于为用户输入创建html表单,将数据提交给服务器.表 ...
- apache使用ssl数字证书
apache配置: <VirtualHost *:443> ServerName web.p2 .com ProxyPreserveHost On ProxyRequests Off SS ...
- linux apache httpd安装(安装全部modules)
一.安装apache(http服务) 1. 从apache.org下载源码安装包 2. 解压缩# tar zxf httpd-2.2.4.tar.gz# cd httpd-2.2.4 3. 安装apa ...
- Httpservlet cannot be resolved to a type的原因与解决方法
刚开始学习Servlet,在Eclipse中新建了一个Servlet,不过页面上报错: Httpservlet cannot be resolved to a type,显然是Eclipse找不到相应 ...
- MyBatis插入多条
<insert id="insertProjectPropertyRelList" parameterType="java.util.List"> ...
- .NET和java的RSA互通,仅此而已
.NET和java的RSA互通,仅此而已 在开始这篇文章之前,先请读者朋友阅读老唐的这两篇文章: 1.Java与.Net环境下RSA加密解密交互不成功的问题解决 2.Java与.Net环境下RSA加密 ...
- http://www.dayandeng.com/ 诈骗网站
http://www.dayandeng.com/ 诈骗网站 http://www.dayandeng.com/userfiles/media/2018/awzosv16.html 骗取你的京 ...
- 【1-4】jQuery代码风格-导航栏
实现一个导航栏,单机不同的商品名称链接,显示相应的内容,同时高亮显示当前选择的商品. 实现功能如图: css: /* reset */ ;padding:0 0 12px 0;font-size:12 ...