String和datetime在SQL中和在C#中相互转换方法总结

Stringdatetime之间相互转换方法总结:

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),结果如:2011/9/6 上午10:11:48

        

方法二, DateTime.Parse(string) //将日期和时间的指定字符串表示转换成其等效的 DateTime

       : DateTime.Parse(Datetime.Now), 结果如:2011/9/6 上午10:11:48

,datetime转换为string.

方法一, DateTime.ToString (String) //使用指定的格式将当前 DateTime 对象的值转换为它的等效字符串表示形式。

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

 

原文地址:https://www.cnblogs.com/mcgrady/p/2168187.html