String和datetime之间相互转换方法总结:
SQL中的转换方法:
一,将string转换为datetime,主要是使用Convert方法,
方法,Convert(datetime [ ( length ) ] , expression, [style])
如: convert(datetime,Datetime.Now,120)结果如: 2016-10-23 20:44:11
注:格式说明:
convert(datetime, '2016-10-23 20:44:11',120) -- yyyy-mm-dd hh:mm:ss(24h)
二,将datetime转换为string,
方法: Convert(char [ ( length ) ], CURRENT_TIMESTAMP, [style])
如: Convert(char[(19)], Datetime.Now, 20)结果如: 2006-02-22 16:26:08
注:格式说明:
Convert(char [ ( length ) ], CURRENT_TIMESTAMP,20) -- yyyy-mm-dd hh:mm:ss(24h)
在C#代码中的转换方法:
一,将string转换为datetime.
方法一, Convert.ToDateTime(string) //将日期和时间的指定 String 表示形式转换为等效的 DateTime。
如:Convert.ToDateTime(Datetime.Now),结果如:
方法二, DateTime.Parse(string) //将日期和时间的指定字符串表示转换成其等效的 DateTime。
如: DateTime.Parse(Datetime.Now), 结果如:
二,将datetime转换为string.
方法一, DateTime.ToString (String) //使用指定的格式将当前 DateTime 对象的值转换为它的等效字符串表示形式。
如: DateTime.ToString (Datetime.Now), 结果如:
常这样使用: DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss")
注: DateTime.ToString ()的格式化技巧:
如: DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss"),结果如:
附一: DateTime.ToString ()格式化说明:
d |
月中的某一天 |
一位数的日期没有前导零 |
dd |
月中的某一天 |
一位数的日期有一个前导零 |
ddd |
周中某天的缩写名称 |
在 AbbreviatedDayNames 中定义 |
dddd |
周中某天的完整名称 |
在 DayNames 中定义 |
M |
月份数字 |
一位数的月份没有前导零 |
MM |
月份数字 |
一位数的月份有一个前导零 |
MMM |
月份的缩写名称 |
在 AbbreviatedMonthNames 中定义 |
MMMM |
月份的完整名称 |
在 MonthNames 中定义 |
y |
不包含纪元的年份 |
如果不包含纪元的年份小于 10,则显示不具有前导零的年份 |
yy |
不包含纪元的年份 |
如果不包含纪元的年份小于 10,则显示具有前导零的年份 |
yyyy |
包括纪元的四位数的年份 |
|
h |
12 小时制的小时 |
一位数的小时数没有前导零 |
hh |
12 小时制的小时 |
一位数的小时数有前导零 |
H |
24 小时制的小时 |
一位数的小时数没有前导零 |
HH |
24 小时制的小时 |
一位数的小时数有前导零 |
m |
分钟 |
一位数的分钟数没有前导零 |
mm |
分钟 |
一位数的分钟数有一个前导零 |
s |
秒 |
一位数的秒数没有前导零 |
ss |
秒 |
一位数的秒数有一个前导零 |
附二: Convert(datetime [ ( length ) ] , expression, [style])格式说明:
convert(datetime, 'Oct 23 2012 11:01AM', 100) -- mon dd yyyy hh:mmAM (or PM)
convert(datetime, '
convert(datetime, '2016.10.23', 102) -- yyyy.mm.dd
convert(datetime, '
convert(datetime, '23.10.2016', 104) -- dd.mm.yyyy
convert(datetime, '
convert(datetime, '23 OCT 2016', 106) -- dd mon yyyy
convert(datetime, 'Oct 23, 2016', 107) -- mon dd, yyyy
convert(datetime, '20:10:44', 108) -- hh:mm:ss
convert(datetime, 'Oct 23 2016 11:02:44:013AM', 109)
convert(datetime, '
convert(datetime, '
convert(datetime, '20161023', 112) -- yyyymmdd
convert(datetime, '23 Oct 2016 11:02:07:577', 113) -- dd mon yyyy hh:mm:ss:mmm
convert(datetime, '20:10:25:300', 114) -- hh:mm:ss:mmm(24h)
convert(datetime, '2016-10-23 20:44:11', 120) -- yyyy-mm-dd hh:mm:ss(24h)
convert(datetime, '2016-10-23 20:44:11.500', 121) -- yyyy-mm-dd hh:mm:ss.mmm
convert(datetime, '
附三: Convert(char [ ( length ) ], CURRENT_TIMESTAMP, [style])格式化说明:
0 |
Feb 22 2006 4:26PM |
CONVERT(CHAR(19), CURRENT_TIMESTAMP, 0) |
1 |
|
CONVERT(CHAR(8), CURRENT_TIMESTAMP, 1) |
2 |
|
CONVERT(CHAR(8), CURRENT_TIMESTAMP, 2) |
3 |
|
CONVERT(CHAR(8), CURRENT_TIMESTAMP, 3) |
4 |
|
CONVERT(CHAR(8), CURRENT_TIMESTAMP, 4) |
5 |
|
CONVERT(CHAR(8), CURRENT_TIMESTAMP, 5) |
6 |
22 Feb 06 |
CONVERT(CHAR(9), CURRENT_TIMESTAMP, 6) |
7 |
Feb 22, 06 |
CONVERT(CHAR(10), CURRENT_TIMESTAMP, 7) |
8 |
16:26:08 |
CONVERT(CHAR(8), CURRENT_TIMESTAMP, 8) |
9 |
Feb 22 2006 4:26:08:020PM |
CONVERT(CHAR(26), CURRENT_TIMESTAMP, 9) |
10 |
|
CONVERT(CHAR(8), CURRENT_TIMESTAMP, 10) |
11 |
|
CONVERT(CHAR(8), CURRENT_TIMESTAMP, 11) |
12 |
060222 |
CONVERT(CHAR(6), CURRENT_TIMESTAMP, 12) |
13 |
22 Feb 2006 16:26:08:020 |
CONVERT(CHAR(24), CURRENT_TIMESTAMP, 13) |
14 |
16:26:08:037 |
CONVERT(CHAR(12), CURRENT_TIMESTAMP, 14) |
20 |
2006-02-22 16:26:08 |
CONVERT(CHAR(19), CURRENT_TIMESTAMP, 20) |
21 |
2006-02-22 16:26:08.037 |
CONVERT(CHAR(23), CURRENT_TIMESTAMP, 21) |
22 |
02/22/06 4:26:08 PM |
CONVERT(CHAR(20), CURRENT_TIMESTAMP, 22) |
23 |
|
CONVERT(CHAR(10), CURRENT_TIMESTAMP, 23) |
24 |
16:26:08 |
CONVERT(CHAR(8), CURRENT_TIMESTAMP, 24) |
25 |
2006-02-22 16:26:08.037 |
CONVERT(CHAR(23), CURRENT_TIMESTAMP, 25) |
100 |
Feb 22 2006 4:26PM |
CONVERT(CHAR(19), CURRENT_TIMESTAMP, 100) |
101 |
|
CONVERT(CHAR(10), CURRENT_TIMESTAMP, 101) |
102 |
2006.02.22 |
CONVERT(CHAR(10), CURRENT_TIMESTAMP, 102) |
103 |
|
CONVERT(CHAR(10), CURRENT_TIMESTAMP, 103) |
104 |
22.02.2006 |
CONVERT(CHAR(10), CURRENT_TIMESTAMP, 104) |
105 |
|
CONVERT(CHAR(10), CURRENT_TIMESTAMP, 105) |
106 |
22 Feb 2006 |
CONVERT(CHAR(11), CURRENT_TIMESTAMP, 106) |
107 |
Feb 22, 2006 |
CONVERT(CHAR(12), CURRENT_TIMESTAMP, 107) |
108 |
16:26:08 |
CONVERT(CHAR(8), CURRENT_TIMESTAMP, 108) |
109 |
Feb 22 2006 4:26:08:067PM |
CONVERT(CHAR(26), CURRENT_TIMESTAMP, 109) |
110 |
|
CONVERT(CHAR(10), CURRENT_TIMESTAMP, 110) |
111 |
|
CONVERT(CHAR(10), CURRENT_TIMESTAMP, 111) |
112 |
20060222 |
CONVERT(CHAR(8), CURRENT_TIMESTAMP, 112) |
113 |
22 Feb 2006 16:26:08:067 |
CONVERT(CHAR(24), CURRENT_TIMESTAMP, 113) |
114 |
16:26:08:067 |
CONVERT(CHAR(12), CURRENT_TIMESTAMP, 114) |
120 |
2006-02-22 16:26:08 |
CONVERT(CHAR(19), CURRENT_TIMESTAMP, 120) |
121 |
2006-02-22 16:26:08.080 |
CONVERT(CHAR(23), CURRENT_TIMESTAMP, 121) |
126 |
|
CONVERT(CHAR(23), CURRENT_TIMESTAMP, 126) |
127 |
|
CONVERT(CHAR(23), CURRENT_TIMESTAMP, 127) |
130 |
24 ???? 1427 4:26:08:080PM |
CONVERT(CHAR(32), CURRENT_TIMESTAMP, 130) |
131 |
24/01/1427 4:26:08:080PM |
CONVERT(CHAR(25), CURRENT_TIMESTAMP, 131) |