从数据库中得到合适的时间格式

       经常看到有人问关于时间格式的问题,例如从数据库中得到的时间格式不正确符合您的心意。由于中英操作系统、数据库版本等差别,确实有这个问题。有的人喜欢在数据从数据库取出以后再定义类型,我觉得这样做没有把握住源头,所以我想说一下自己的想法。

        其实也很简单,在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 ");等结构来实现。 

       经常看到有人问关于时间格式的问题,例如从数据库中得到的时间格式不正确符合您的心意。由于中英操作系统、数据库版本等差别,确实有这个问题。有的人喜欢在数据从数据库取出以后再定义类型,我觉得这样做没有把握住源头,所以我想说一下自己的想法。

        其实也很简单,在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 ");等结构来实现。

posted @ 2010-11-19 09:27  落冰  阅读(793)  评论(0编辑  收藏  举报