C# DateTime日期格式化
在C#中DateTime是一个包含日期、时间的类型,此类型通过ToString()转换为字符串时,可根据传入给Tostring()的参数转换为多种字符串格式。
目录
1. 分类
2. 制式类型
3. 自定义格式类型
1. 分类
DateTime调用ToString()传入的参数可分为制式和自定义两种:
1) 制式:系统自带的,转入特定的单个字符就可转换为系统已设定好的格式。
2) 自定义:自由组合日期代码(y、M、d、h、m、s、f)来展示丰富的日期格式。
2. 制式类型
说明:转入特定的单个字符就可转换为系统已设定好的格式。
2.1 格式来源
在Windows系统中的区域和语言(位置:控制面板 → 区域和语言)选项中可设置日期和时间的格式。
可设置的分类有:短日期、长日期、短时间、长时间等。
调用ToString()进行转换时,许多转换方式都是通过上面的4个分类进行组合。
2.2 符号对照表
2.2.1 环境
.net版本:4.0
系统版本:Win7
格式信息:

2.2.2 对照表
| 符号 | 语法 | 示例(2016-05-09 13:09:55:2350) | 格式说明 |
| y | DateTime.Now.ToString() | 2016/5/9 13:09:55 | 短日期 长时间 |
| d | DateTime.Now.ToString("d") | 2016/5/9 | 短日期 |
| D | DateTime.Now.ToString("D") | 2016年5月9日 | 长日期 |
| f | DateTime.Now.ToString("f") | 2016年5月9日 13:09 | 长日期 短时间 |
| F | DateTime.Now.ToString("F") | 2016年5月9日 13:09:55 | 长日期 长时间 |
| g | DateTime.Now.ToString("g") | 2016/5/9 13:09 | 短日期 短时间 |
| G | DateTime.Now.ToString("G") | 2016/5/9 13:09:55 | 短日期 长时间 |
| t | DateTime.Now.ToString("t") | 13:09 | 短时间 |
| T | DateTime.Now.ToString("T") | 13:09:55 | 长时间 |
| u | DateTime.Now.ToString("u") | 2016-05-09 13:09:55Z | |
| U | DateTime.Now.ToString("U") | 2016年5月9日 5:09:55 | 本初子午线的长日期和长时间 |
| m | DateTime.Now.ToString("m") | 5月9日 | |
| M | DateTime.Now.ToString("M") | 5月9日 | |
| r | DateTime.Now.ToString("r") | Mon, 09 May 2016 13:09:55 GMT | |
| R | DateTime.Now.ToString("R") | Mon, 09 May 2016 13:09:55 GMT | |
| y | DateTime.Now.ToString("y") | 2016年5月 | |
| Y | DateTime.Now.ToString("Y") | 2016年5月 | |
| o | DateTime.Now.ToString("o") | 2016-05-09T13:09:55.2350000 | |
| O | DateTime.Now.ToString("O") | 2016-05-09T13:09:55.2350000 | |
| s | DateTime.Now.ToString("s") | 2016-05-09T13:09:55 |
2.3 示例图

2.4 win2003版本
在Win2003默认中的无字符、d、g、G格式中会用'-'符号替代'/'符号(短日期格式为:yyyy-m-d)。

3. 自定义格式类型
开发人员可通过英文字符(y、M、d、h、m、s、f) 分别代替(年、月、日、时、分、秒、毫秒)来自由组合日期时间格式。
3.1 符号对照表
.net版本:4.0
系统版本:Win7
| 符号 | 说明 |
语法 | 示例(2016-05-09 13:09:55:2350) |
| yy | 年份后两位 | DateTime.Now.ToString("yy") | DateTime.Now.ToString("yy"); // => 16 |
| yyyy | 4位年份 | DateTime.Now.ToString("yyyy") | DateTime.Now.ToString("yyyy"); // => 2016 |
| MM | 两位月份;单数月份前面用0填充 | DateTime.Now.ToString("MM") | DateTime.Now.ToString("MM"); // => 05 |
| dd | 日数 | DateTime.Now.ToString("dd") | DateTime.Now.ToString("dd"); // => 09 |
| ddd | 周几 | DateTime.Now.ToString("ddd") | DateTime.Now.ToString("ddd"); // => 周一 |
| dddd | 星期几 | DateTime.Now.ToString("dddd") | DateTime.Now.ToString("dddd"); // => 星期一 |
| hh | 12小时制的小时数 | DateTime.Now.ToString("hh") | DateTime.Now.ToString("hh"); // => 01 |
| HH | 24小时制的小时数 | DateTime.Now.ToString("HH") | DateTime.Now.ToString("HH"); // => 13 |
| mm | 分钟数 | DateTime.Now.ToString("mm") | DateTime.Now.ToString("mm"); // => 09 |
| ss | 秒数 | DateTime.Now.ToString("ss") | DateTime.Now.ToString("ss"); // => 55 |
| ff | 毫秒数前2位 | DateTime.Now.ToString("ff") | DateTime.Now.ToString("ff"); // => 23 |
| fff | 毫秒数前3位 | DateTime.Now.ToString("fff") | DateTime.Now.ToString("fff"); // => 235 |
| ffff | 毫秒数前4位 | DateTime.Now.ToString("ffff") | DateTime.Now.ToString("ffff"); // => 2350 |
| 分隔符 |
可使用分隔符来分隔年月日时分秒。 包含的值可为:-、/、:等非关键字符 |
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff"); // => 2016-05-09 13:09:55:2350 DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss:ffff"); // => 2016/05/09 13:09:55:2350 DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss:ffff dddd"); // => 2016/05/09 13:09:55:2350 星期一 |
|
3.2 示例图

==================================系列文章==========================================
本篇文章:1.3 C# DateTime日期格式化
C# DateTime日期格式化的更多相关文章
- c#根据当前时间获取本周,本月,本年度等时间段和DateTime日期格式化
DateTime dt = DateTime.Now; //当前时间 DateTime startWeek = dt.AddDays( - Convert.ToInt32(dt.DayOfWeek.T ...
- DataTime日期格式化
C# DateTime日期格式化 在C#中DateTime是一个包含日期.时间的类型,此类型通过ToString()转换为字符串时,可根据传入给Tostring()的参数转换为多种字符串格式. 目录 ...
- DateTime.ToString格式化日期,使用DateDiff方法获取日期时间的间隔数
一:DateTime.ToString格式化日期 二:代码 using System; using System.Collections.Generic; using System.Component ...
- django datetime format 日期格式化
django datetime format 日期格式化 www.jx-lab.com python 中 date,datetime,time对象都支持strftime(format)方法,但有一些区 ...
- Json.net日期格式化
1. 全局设置,可以在App_Global中配置 JsonSerializerSettings setting = new JsonSerializerSettings(); JsonConvert. ...
- django 过滤器、日日期格式化参数
转载:http://blog.csdn.net/xyp84/article/details/7945094 django1.4 html页面从数据库中读出DateTimeField字段时,显示的时间格 ...
- SQL Server中的日期格式化
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08 ...
- yii2 GridView 日期格式化并实现日期可搜索 案例
作者:白狼 出处:http://www.manks.top/article/yii2_gridview_dateformat_search 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且 ...
- SQLServer日期格式化
0 或 100 (*) 默认值 mon dd yyyy hh:miAM(或 PM) 1 101 美国 mm/dd/yyyy ...
随机推荐
- Linux 内核概述 - Linux Kernel
Linux 内核学习笔记整理. Unix unix 已有40历史,但计算机科学家仍认为其是现存操作系统中最大和最优秀的系统,它已成为一种传奇的存在,历经时间的考验却依然声名不坠. 1973 年,在用 ...
- AutoMapper随笔记
平台之大势何人能挡? 带着你的Net飞奔吧! http://www.cnblogs.com/dunitian/p/4822808.html#skill 先看效果:(完整Demo:https://git ...
- 如何利用tcpdump对mysql进行抓包操作
命令如下: tcpdump -s -l -w - dst -i eno16777736 |strings 其中-i指定监听的网络接口,在RHEL 7下,网络接口名不再是之前的eth0,而是 eno16 ...
- C#开发微信门户及应用(39)--使用微信JSSDK实现签到的功能
随着微信开逐步开放更多JSSDK的接口,我们可以利用自定义网页的方式来调用更多微信的接口,实现我们更加丰富的界面功能和效果,例如我们可以在页面中调用各种手机的硬件来获取信息,如摄像头拍照,GPS信息. ...
- Tomcat常见问题及常用命令
很长时间不用tomcat好多命令都忘记了,所以准备自己记录下来,以便参考.刚好也希望可以开始养成记博客的好习惯. 1.查看java的版本号 进入java的安装目录后,使用命令:java -versio ...
- C# 工厂模式+虚方法(接口、抽象方法)实现多态
面向对象语言的三大特征之一就是多态,听起来多态比较抽象,简而言之就是同一行为针对不同对象得到不同的结果,同一对象,在不同的环境下得到不同的状态. 实例说明: 业务需求:实现一个打开文件的控制台程序的d ...
- 5.2 Array类型的方法汇总
所有对象都具有toString(),toLocaleString(),valueOf()方法. 1.数组转化为字符串 toString(),toLocaleString() ,数组调用这些方法,则返回 ...
- centos 6.5 升级php
1>追加CentOS 6.5的epel及remi源. # rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-re ...
- 清除打印机队列中无法清除的任务 & 清空打印池
故障现象典型表现为以下两种情况 1.当打印任务开始进行时,这些打印任务便被保存在打印作业列表(也称打印队列)内.如果打印机因意外暂停(如打印机未连接)而未完成打印任务,则该打印任务将列入打印队列,并且 ...
- Android快乐贪吃蛇游戏实战项目开发教程-03虚拟方向键(二)绘制一个三角形
该系列教程概述与目录:http://www.cnblogs.com/chengyujia/p/5787111.html 一.绘制三角形 在上一篇文章中,我们已经新建了虚拟方向键的自定义控件Direct ...