经常看到有人问关于时间格式的问题,例如从数据库中得到的时间格式不正确符合您的心意。由于中英操作系统、数据库版本等差别,确实有这个问题。有的人喜欢在数据从数据库取出以后再定义类型,我觉得这样做没有把握住源头,所以我想说一下自己的想法。
其实也很简单,在SQL帮助中 Without century (yy)With century (yyyy)
Standard
Input/Output**-
0 or 100 (*)
Default
mon dd yyyy hh:miAM (or PM)
1
101
USA
mm/dd/yy
2
102
ANSI
yy.mm.dd
3
103
British/French
dd/mm/yy
4
104
German
dd.mm.yy
5
105
Italian
dd-mm-yy
6
106
-
dd mon yy
7
107
-
Mon dd, yy
8
108
-
hh:mm:ss
-
9 or 109 (*)
Default + milliseconds
mon dd yyyy hh:mi:ss:mmmAM (or PM)
10
110
USA
mm-dd-yy
11
111
JAPAN
yy/mm/dd
12
112
ISO
yymmdd
-
13 or 113 (*)
Europe default + milliseconds
dd mon yyyy hh:mm:ss:mmm(24h)
14
114
-
hh:mi:ss:mmm(24h)
-
20 or 120 (*)
ODBC canonical
yyyy-mm-dd hh:mi:ss(24h)
-
21 or 121 (*)
ODBC canonical (with milliseconds)
yyyy-mm-dd hh:mi:ss.mmm(24h)
-
126(***)
ISO8601
yyyy-mm-dd Thh:mm:ss:mmm(no spaces)
-
130*
Kuwaiti
dd mon yyyy hh:mi:ss:mmmAM
-
131*
Kuwaiti
dd/mm/yy hh:mi:ss:mmmAM
这样你如果想在中文系统下实现英文的时间格式,就在存储过程中可以使用
select date1=Convert(char(10),date1,101) 就是将date1转换成mm/dd/yy的格式.
还是很方便吧。当然取出后的数据,或者单独的数据也可以通过.String("yyyy-mm-dd ");等结构来实现。