ホームページ > データベース > mysql チュートリアル > sqlserver 东八时区的英文时间转换

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-07 15:14:28
オリジナル
1506 人が閲覧しました

今天新浪微博的东东,发现其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 问题解决。。。。。。

 

 

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート