C#ToString()方法一些特殊用法
一、取中文日期显示
1、年月日时分
c u r r e n t T i m e.T o S t r i n g("f");//不显示秒
2、年月
c u r r e n t T i m e.T o S t r i n g("y");
3、月日
c u r r e n t T i m e.T o S t r i n g("m");
4、格式为:2003-9-23
c u r r e n t T i m e.T o S t r i n g("d");
5、格式为:14:24
c u r r e n t T i m e.T o S t r i n g("t");
二、字符型转换转为字符串
12345.T o S t r i n g("n");//结果:12,345.00
12345.T o S t r i n g("C");//结果:¥12,345.00
12345.T o S t r i n g("e");//结果:1.234500e+004
12345.T o S t r i n g("f4");//结果:12345.0000
12345.T o S t r i n g("x");//结果:3039(16进制)
12345.T o S t r i n g("p");//结果:1,234,500.00%
----------------------------------------------------------------------
令D a t e T i m e.N o w为2007-7-1722:07:24
1、D a t e T i m e.N o w.T o S t r i n g("y y-M M-d d")
处理后:07-07-17
2、D a t e T i m e.N o w.T o S t r i n g("y y年M M月d d日")
处理后:07年07月17日(中文样式)
注:
d月中的某一天。一位数的日期没有前导零。
d d月中的某一天。一位数的日期有一个前导零。
d d d周中某天的缩写名称,在A b b r
e v i a t e d D a y N a m e s中定义。
d d d d周中某天的完整名称,在D a y N a m
e s中定义。
M月份数字。一位数的月份没有前导零。
M M月份数字。一位数的月份有一个前导零。
M M M月份的缩写名称,在A b b r e v i a t e d M o n t h N a m e s中定义。
M M M M月份的完整名称,在M o n t h N a m e s中定义。
y不包含纪元的年份。如果不包含纪元的年份小于10,则显示不具有前导零的年份。
y y不包含纪元的年份。如果不包含纪元的年份小于10,则显示具有前导零的年份。
y y y y包括纪元的四位数的年份。
h12小时制的小时。一位数的小时数没有前导零。
h h12小时制的小时。一位数的小时数有前导零。
H24小时制的小时。一位数的小时数没有前导零。
H H24小时制的小时。一位数的小时数有前导零。
m分钟。一位数的分钟数没有前导零。
m m分钟。一位数的分钟数有一个前导零。
s秒。一位数的秒数没有前导零。
s s秒。一位数的秒数有一个前导零。
网上收集的D a t e T i m e技巧
//大家在做报表或查询的时候都会有给用户预设一些可选的日期范围
//如本年度销售额、本季度利润、本月新增客户
//C#里内置的D a t e T i m e基本上都可以实现这些功能,巧用D a t e T i m e会使你处理这些事来变轻松多了
//今天
D a t e T i m e.N o w.D a t e.T o S h o r t D a t e S t r i n g();
//昨天,就是今天的日期减一
D a t e T i m e.N o w.A d d D a y s(-1).T o S h o r t D a t e S t r i n g();
//明天,同理,加一
D a t e T i m e.N o w.A d d D a y s(1).T o S h o r t D a t e S t r i n g();
//本周(要知道本周的第一天就得先知道今天是星期几,从而得知本周的第一天就是几天前的那一天,要注意的是这里的每一周是从周日始至周六止
D a t e T i m e.N o w.A d d D a y s(C o n v e r t.T o D o u b l e((0-
C o n v e r t.T o I n t16(
D a t e T i m e.N o w.D a y O f W e e k)))).T o S h o r t D a t e S t r i n g();
D a t e T i m e.N o w.A d d D a y s(C o n v e r t.T o D o u b l e((6-
C o n v e r t.T o I n t16(
D a t e T i m e.N o w.D a y O f W e e k)))).T o S h o r t D a t e S t r i n g();
//如果你还不明白,再看一下中文显示星期几的方法就应该懂了
/
/由于D a y O f W e e k返回的是数字的星期几,我们要把它转换成汉字方便我们阅读,有些人可能会用s w i t c h来一个一个地对照,其实不用那么麻烦的
s t r i n g[]D a y=n e w s t r i n g[]{"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
D a y[C o n v e r t.T o I n t16(D a t e T i m e.N o w.D a y O f W e e k)];
//上周,同理,一个周是7天,上周就是本周再减去7天,下周也是一样
D a t e T i m e.N o w.A d d D a y s(C o n v e r t.T o D o u b l e((0-
C o n v e r t.T o I n t16(
D a t e T i m e.N o w.D a y O f W e e k)))-7).T o S h o r t D a t e S t r i n g();
D a t e T i m e.N o w.A d d D a y s(C o n v e r t.T o D o u b l e((6-
C o n v e r t.T o I n t16(
D a t e T i m e.N o w.D a y O f W e e k)))-7).T o S h o r t D a t e S t r i n g();
//下周
D a t e T i m e.N o w.A d d D a y s(C o n v e r t.T o D o u b l e((0-
C o n v e r t.T o I n t16(
D a t e T i m e.N o w.D a y O f W e e k)))+7).T o S h o r t D a t e S t r i n g();
D a t e T i m e.N o w.A d d D a y s(C o n v e r t.T o D o u b l e((6-
C o n v e r t.T o I n t16(
D a t e T i m e.N o w.D a y O f W e e k)))+7).T o S h o r t D a t e S t r i n g();
//本月,很多人都会说本月的第一天嘛肯定是1号,最后一天就是下个月一号再减一天。当然这是对的
//一般的写法
D a t e T i m e.N o w.Y e a r.T o S t r i n g()+D a t e T i m e.N o w.M o n t h.T o S t r i n g()+"1";//第一天
D a t e T i m e.P a r s e(D a t e T i m e.N o w.Y e a r.T o S t r i n g()+
D a t e T i m e.N o w.M o n t h.T o S t r i n g()+
"1").A d d M o n t h s(1).A d d D a y s(-1).T o S h o r t D a t e S t r i n g();//最后一天
//巧用C#里T o S t r i n g的字符格式化更简便
D a t e T i m e.N o w.T o S t r i n g("y y y y-M M-01");
D a t e T i m e.P a r s e(D a t e T i m e.N o w.T o S t r i n g("y y y y-M M-01")).A d d M o n t h s(1).A d d D a y s(-1).T o S h o r t D a t e S t r i n g();
//上个月,减去一个月份
D a t e T i m e.P a r s e(D a t e T i m e.N o w.T o S t r i n g("y y y y-M M-01")).A d d M o n t h s(-1).T o S h o r t D a t e S t r i n g();
D a t e T i m e.P a r s e(D a t e T i m e.N o w.T o S t r i n g("y y y y-M M-01")).A d d D a y s(-1).T o S h o r t D a t e S t r i n g();
//下个月,加去一个月份
D a t e T i m e.P a r s e(D a t e T i m e.N o w.T o S t r i n g("y y y y-M M-01")).A d d M o n t h s(1).T o S h o r t D a t e S t r i n g();
D a t e T i m e.P a r s e(D a t e T i m e.N o w.T o S t r i n g("y y y y-M M-01")).A d d M o n t h s(2).A d d D a y s(-1).T o S h o r t D a t e S t r i n g();
//7天后
D a t e T i m e.N o w.D a t e.T o S h o r t D a t e S t r i n g();
D a t e T i m e.N o w.A d d D a y s(7).T o S h o r t D a t e S t r i n g();
//7天前
D a t e T i m e.N o w.A d d D a y s(-7).T o S h o r t D a t e S t r i n g();
D a t e T i m e.N o w.D a t e.T o S h o r t D a t e S t r i n g();
//本年度,用T o S t r i n g的字符格式化我们也很容易地算出本年度的第一天和最后一天
D a t e T i m e.P a r s e(D a t e T i m e.N o w.T o S t r i n g("y y y y-01-01")).T o S h o r t D a t e S t r i n g() ;
D a t e T i m e.P a r s e(D a t e T i m e.N o w.T o S t r i n g("y y y y-01-01")).A d d Y e a r s(1).A d d D a
y s(-1).T o S h o r t D a t e S t r i n g();
//上年度,不用再解释了吧
D a t e T i m e.P a r s e(D a t e T i m e.N o w.T o S t r i n g("y y y y-01-01")).A d d Y e a r s(-1).T o S h o r t D a t e S t r i n g();
D a t e T i m e.P a r s e(D a t e T i m e.N o w.T o S t r i n g("y y y y-01-01")).A d d D a y s(-1).T o S h o r t D a t e S t r i n g();
//下年度
D a t e T i m e.P a r s e(D a t e T i m e.N o w.T o S t r i n g("y y y y-01-01")).A d d Y e a r s(1).T o S h o r t D a t e S t r i n g();
D a t e T i m e.P a r s e(D a t e T i m e.N o w.T o S t r i n g("y y y y-01-01")).A d d Y e a r s(2).A d d D a y s(-1).T o S h o r t D a t e S t r i n g();
//本季度,很多人都会觉得这里难点,需要写个长长的过程来判断。其实不用的,我们都知道一年四个季度,一个季度三个月
//首先我们先把日期推到本季度第一个月,然后这个月的第一天就是本季度的第一天了
D a t e T i m e.N o w.A d d M o n t h s(0-((D a t e T i m e.N o w.M o n t h-1)%
3)).T o S t r i n g("y y y y-M M-01");
//同理,本季度的最后一天就是下季度的第一天减一
D a t e T i m e.P a r s e(D a t e T i m e.N o w.A d d M o n t h s(3-((D a t e T i m e.N o w.M o n t h-1)%
3)).T o S t r i n g("y y y y-M M-01")).A d d D a y s(-1).T o S h o r t D a t e S t r i n g();
//下季度,相信你们都知道了。。。。收工
D a t e T i m e.N o w.A d d M o n t h s(3-((D a t e T i m e.N o w.M o n t h-1)%
3)).T o S t r i n g("y y y y-M M-01");
D a t e T i m e.P a r s e(D a t e T i m e.N o w.A d d M o n t h s(6-((D a t e T i m e.N o w.M o n t h-1)%
3)).T o S t r i n g("y y y y-M M-01")).A d d D a y s(-1).T o S h o r t D a t e S t r i n g();
/
/上季度
D a t e T i m e.N o w.A d d M o n t h s(-3-((D a t e T i m e.N o w.M o n t h-1)%
3)).T o S t r i n g("y y y y-M M-01");
D a t e T i m e.P a r s e(D a t e T i m e.N o w.A d d M o n t h s(0-((D a t e T i m e.N o w.M o n t h-1)%
3)).T o S t r i n g("y y y y-M M-01")).A d d D a y s(-1).T o S h o r t D a t e S t r i n g();
---------------------------------------------------------------------
格式化数值:有时,我们可能需要将数值以一定的格式来呈现,就需要对数值进行格式化。我们使用格式字符串指定格式。格式字符串采用以下形式:A x x,其
中A为格式说明符,指定格式化类型,x x为精度说明符,控制格式化输出的有效位数或小数位数。
格式说明符说明示例输出
C货币  2.5.ToString("C")¥2.50
D十进制数25.ToString("D5")00025
E科学型25000.ToString("E")  2.500000E+005
F固定点25.ToString("F2")25.00
truncated在存储过程中怎么使用
G常规  2.5.ToString("G")  2.5
N数字2500000.ToString("N")2,500,000.00
X十六进制255.ToString("X")FF
--------------------------------------------------------------
十六进制(h e x)显示i n C#.t o s t r i n g("X2")
b y t e t e m p b y t e=0x a a;
m e s s a g e b o x.s h o w(t e m p b y t e.t o s t r i n g("X2"));

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。