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) //将日期和时间的指定 表示形式转换为等效的 。
如:Convert.ToDateTime(Datetime.Now),结果如:2011/9/6上午10:11:48
方法二, DateTime.Parse(string) //将日期和时间的指定字符串表示转换成其等效的 。
如: DateTime.Parse(Datetime.Now), 结果如:2011/9/6上午10:11:48
二,将datetime转换为string.
方法一, DateTime.ToString (String) //使用指定的格式将当前 对象的值转换为它的等效字符串表示形式。
如: DateTime.ToString (Datetime.Now), 结果如:2011/9/6上午10:11:48
常这样使用: DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss")
注: DateTime.ToString ()的格式化技巧:
如: DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss"),结果如:2011/09/06 10:38:06
附一: 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, '10/23/2016', 101) -- mm/dd/yyyy
convert(datetime, '2016.10.23', 102) -- yyyy.mm.dd
convert(datetime, '23/10/2016', 103) -- dd/mm/yyyy
convert(datetime, '23.10.2016', 104) -- dd.mm.yyyy
convert(datetime, '23-10-2016', 105) -- dd-mm-yyyy
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, '10-23-2016', 110) -- mm-dd-yyyy
convert(datetime, '2016/10/23', 111) -- yyyy/mm/dd
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, '2008-10-23T18:52:47.513', 126) -- yyyy-mm-ddThh:mm:ss.mmm
附三: Convert(char [ ( length ) ], CURRENT_TIMESTAMP, [style])格式化说明:
0 | Feb 22 2006 4:26PM | CONVERT(CHAR(19), CURRENT_TIMESTAMP, 0) |
1 | 02/22/06 | CONVERT(CHAR(8), CURRENT_TIMESTAMP, 1) |
2 | 06.02.22 | CONVERT(CHAR(8), CURRENT_TIMESTAMP, 2) |
3 | 22/02/06 | CONVERT(CHAR(8), CURRENT_TIMESTAMP, 3) |
4 | 22.02.06 | CONVERT(CHAR(8), CURRENT_TIMESTAMP, 4) |
5 | 22-02-06 | 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 | 02-22-06 | CONVERT(CHAR(8), CURRENT_TIMESTAMP, 10) |
11 | 06/02/22 | 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 | 2006-02-22 | 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 | 02/22/2006 | CONVERT(CHAR(10), CURRENT_TIMESTAMP, 101) |
102 | 2006.02.22 | CONVERT(CHAR(10), CURRENT_TIMESTAMP, 102) |
103 | 22/02/2006 | CONVERT(CHAR(10), CURRENT_TIMESTAMP, 103) |
104 | 22.02.2006 | CONVERT(CHAR(10), CURRENT_TIMESTAMP, 104) |
105 | 22-02-2006 | 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 | 02-22-2006 | CONVERT(CHAR(10), CURRENT_TIMESTAMP, 110) |
111 | 2006/02/22 | 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 | 2006-02-22T16:26:08.080 | CONVERT(CHAR(23), CURRENT_TIMESTAMP, 126) |
127 | 2006-02-22T16:26:08.080 | 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) |