0

0

关于日期显示格式字符串的一点理解

巴扎黑

巴扎黑

发布时间:2016-12-20 17:16:55

|

1658人浏览过

|

来源于php中文网

原创

http://www.cnblogs.com/longsan/archive/2006/04/05/367462.html

今天有网友在q群上贴了如下一段代码:

strings=Calendar1.TodaysDate.ToString("d");

想得到"MM/dd/yyyy"的显示方式,可是总是显示成"04-01-2006",而不是想要的"04/01/2006"。

一开始我也想当然的认为"MM/dd/yyyy" (自定义格式字符串)或者用"d"
(标准格式字符串)来完成,但是经过实验,发现总是显示"04-01-2006"。后来查了帮助,对这个问题有了下面的一些认识:

1、标准格式字符串的显示是与程序运行机器上的本地区域有关的,即与CultrueInfo相关。比如你的机器上的本地区域设置里,设置日期之间的间隔符是"-",那么你通过上述代码显示的总是"-",除非你修改了本地区域的设置。

2、上述代码默认的美国英语的显示方式是"04/01/2006",中文的显示方式是"04-01-2006",德语的显示方式是"04.01.2006"。

3、如果不通过修改本地区域的设置,而想实现"04/01/2006"的显示方式,则应该使用自定义格式字符串,上面的代码可以写成下面这样:

strings=Calendar1.TodaysDate.ToString("MM'/'dd'/'yyyy");


其中两个单引号括着的是任意字符串,在显示时都会直接显示。

几种解决方案:

第一种如上面3所说的。

第二种

羚珑
羚珑

京东推出的一站式AI图像处理平台

下载

Web.Config中,添加:

这是最方便的,但是没有试.

第三种

控制面板-〉区域选项-〉自定义(时间右边的按钮)

可以,不过没有移植性.

关于一些资料参考:

日期格式化显示
在SQL中DateTime为8位长度日期的指定形式为2003-12-31 00:00:00
而在ASP.NET上最常用的只是2003-12-31号一部分而已你可以使用
DateTime.Now.ToString("d")或DateTime.Now.ToShortDateString();
不过具体格式是2003/12/31还是2003-12-31的话要看你的系统配置日期配置是哪一种.
你要想确定取得2003-12-31指定的话使用.Tostring()用户自定义格式
格式的字符可以看上面说到的文档.
如.ToString("yyyy-MM-dd")返回2003-11-25
.ToString("yyyyMMdd")返回20031125

d 将日显示为不带前导零的数字(如 1)。如果这是用户定义的数字格式中的唯一字符,请使用

%d。
dd 将日显示为带前导零的数字(如 01)。
ddd 将日显示为缩写形式(例如 Sun)。
dddd 将日显示为全名(例如 Sunday)。
M 将月份显示为不带前导零的数字(如一月表示为 1)。如果这是用户定义的数字格式中的唯一

字符,请使用 %M。
MM 将月份显示为带前导零的数字(例如 01/12/01)。
MMM 将月份显示为缩写形式(例如 Jan)。
MMMM 将月份显示为完整月份名(例如 January)。
gg 显示时代/纪元字符串(例如 A.D.)
h 使用 12 小时制将小时显示为不带前导零的数字(例如 1:15:15 PM)。如果这是用户定义的数

字格式中的唯一字符,请使用 %h。
hh 使用 12 小时制将小时显示为带前导零的数字(例如 01:15:15 PM)。
H 使用 24 小时制将小时显示为不带前导零的数字(例如 1:15:15)。如果这是用户定义的数字

格式中的唯一字符,请使用 %H。
HH 使用 24 小时制将小时显示为带前导零的数字(例如 01:15:15)。
m 将分钟显示为不带前导零的数字(例如 12:1:15)。如果这是用户定义的数字格式中的唯一字

符,请使用 %m。
mm 将分钟显示为带前导零的数字(例如 12:01:15)。
s 将秒显示为不带前导零的数字(例如 12:15:5)。如果这是用户定义的数字格式中的唯一字符

,请使用 %s。
ss 将秒显示为带前导零的数字(例如 12:15:05)。
F 显示秒的小数部分。例如,ff 将精确显示到百分之一秒,而 ffff 将精确显示到万分之一秒。

用户定义格式中最多可使用七个 f 符号。如果这是用户定义的数字格式中的唯一字符,请使用 %f。
T 使用 12 小时制,并对中午之前的任一小时显示大写的 A,对中午到 11:59 P.M 之间的任一小

时显示大写的 P。如果这是用户定义的数字格式中的唯一字符,请使用 %t。
tt 使用 12 小时制,并对中午之前任一小时显示大写的 AM;对中午到 11:59 P.M 之间的任一小

时显示大写的 PM。
y 将年份 (0-9) 显示为不带前导零的数字。如果这是用户定义的数字格式中的唯一字符,请使用

%y。
yy 以带前导零的两位数字格式显示年份(如果适用)。
yyy 以四位数字格式显示年份。
yyyy 以四位数字格式显示年份。
z 显示不带前导零的时区偏移量(如 -8)。如果这是用户定义的数字格式中的唯一字符,请使用

%z。
zz 显示带前导零的时区偏移量(例如 -08)
zzz 显示完整的时区偏移量(例如 -08:00)

同样对时间也可以进行这样的格式化..你可以使用自定义格式来设置你想要的格式输出.
你可以使用上表中各字符进行任意的组合不管前后次序多少如你写入yyyy-yyyy也是可以的.

注意的是:进行格式化的一定要是日期DateTime格式.在SQL中的类型也一样.否则格式无效或出错.特别是在DataGrid常{0:IFromat}的格式中会用到

2)日期的输入
我们在办理入日期格式式常用DateTime.Pares()
但是这个形式的转换是相当有限的,有些C#是会不懂你写入的日期格式的如20031231大家都明白是2003-

12-31号可以C#不认识他.我们可以这样子进行如下
//设置语言国家
System.IFormatProvider format=new System.Globalization.CultureInfo("zh-CN",true);
//指定转换格式
Response.Write(DateTime.ParseExact(this.TextBox1.Text,"yyyyMMdd",format));
这样他就能看出20031231号的日期格式了

不过可惜他只能够对yyyyMMdd形式进行不能对其它格式进行转换是不是美中不足?
不过.NET提供了另一种重载版本.
public static DateTime ParseExact(string, string[], IFormatProvider, DateTimeStyles);
可对指定的几种日期格式进行转换.

相关专题

更多
苹果官网入口直接访问
苹果官网入口直接访问

苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

115

2025.12.24

拼豆图纸在线生成器
拼豆图纸在线生成器

拼豆图纸生成器有PixelBeads在线版、BeadGen和“豆图快转”;推荐通过pixelbeads.online或搜索“beadgen free online”直达官网,避开需注册的诱导页面。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

82

2025.12.24

俄罗斯搜索引擎yandex官方入口地址(最新版)
俄罗斯搜索引擎yandex官方入口地址(最新版)

Yandex官方入口网址是https://yandex.com。用户可通过网页端直连或移动端浏览器直接访问,无需登录即可使用搜索、图片、新闻、地图等全部基础功能,并支持多语种检索与静态资源精准筛选。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

546

2025.12.24

JavaScript ES6新特性
JavaScript ES6新特性

ES6是JavaScript的根本性升级,引入let/const实现块级作用域、箭头函数解决this绑定问题、解构赋值与模板字符串简化数据处理、对象简写与模块化提升代码可读性与组织性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

150

2025.12.24

php框架基础知识汇总
php框架基础知识汇总

php框架是构建web应用程序的架构,提供工具和功能,以简化开发过程。选择合适的框架取决于项目需求和技能水平。实战案例展示了使用laravel构建博客的步骤,包括安装、创建模型、定义路由、编写控制器和呈现视图。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

20

2025.12.24

Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

47

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

7

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

12

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

371

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
ASP.NET参考手册
ASP.NET参考手册

共0课时 | 0人学习

传播智客ASP.NET中级系列视频教程
传播智客ASP.NET中级系列视频教程

共33课时 | 6.2万人学习

传播智客ASP.NET高级系列视频教程
传播智客ASP.NET高级系列视频教程

共34课时 | 6.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号