Home >Database >Mysql Tutorial >sqlserver 东八时区的英文时间转换

sqlserver 东八时区的英文时间转换

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 15:14:281504browse

今天新浪微博的东东,发现其CreateAt创建 时间 居然为 英文 的 时间 ,并且里面包含有 英文 。纠结了。 时间 式如下: Wed May 23 16:04:54 0800 2012 Wed May 23 16:04:33 0800 2012 Wed May 23 16:03:18 0800 2012 Wed May 23 16:01:47 0800 2012 Wed May

今天新浪微博的东东,发现其CreateAt创建时间居然为 英文时间,并且里面包含有英文。纠结了。

时间格式如下:

Wed May 23 16:04:54 +0800 2012
Wed May 23 16:04:33 +0800 2012
Wed May 23 16:03:18 +0800 2012
Wed May 23 16:01:47 +0800 2012
Wed May 23 16:01:17 +0800 2012
Wed May 23 16:01:00 +0800 2012
Wed May 23 15:57:34 +0800 2012
Wed May 23 15:55:55 +0800 2012
Wed May 23 15:53:37 +0800 2012

经过偶认真的分析,找到规则:+0800表示的是东八时区,而最前面的Wed 表示的是周几  而在紧跟在后面的 May则代表的月份。2012为年,23为日,16:04:54时分秒

于是针对这一规则的字符串 创建通用自定义Sqlserver方法如下:

create function EnDateToDate
(
	@Soure varchar(30)
)
Returns datetime
as
begin
	
	set @Soure= substring(replace(@Soure,'+0800 ',''),5,21)
	set @Soure=replace(@Soure,'Jan','1')
	set @Soure=replace(@Soure,'Feb','2')
	set @Soure=replace(@Soure,'Mar','3')
	set @Soure=replace(@Soure,'Apr','4')
	set @Soure=replace(@Soure,'May','5')
	set @Soure=replace(@Soure,'Jun','6')
	set @Soure=replace(@Soure,'Jul','7')
	set @Soure=replace(@Soure,'Aug','8')
	set @Soure=replace(@Soure,'Sept','9')
	set @Soure=replace(@Soure,'Sep','9')
	set @Soure=replace(@Soure,'Oct','10')
	set @Soure=replace(@Soure,'Nov','11')
	set @Soure=replace(@Soure,'Dec','12')
	return cast(@Soure as datetime)
end


 

转换如下:2012-03-30 20:19:30.000

OK 问题解决。。。。。。

 

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn