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) |