随便找个网站获取格林威治时间, 并转换到北京时间
2021/5/20 18:25:17
本文主要是介绍随便找个网站获取格林威治时间, 并转换到北京时间,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
随便找个网站获取格林威治时间, 并转换到北京时间uses Winapi.msxml, System.DateUtils; //实时获取网络时间的函数, 得到的是格林威治时间; 默认从 sohu 服务器获取, 因为它最快, 平均只需 15 毫秒 function GetNetTime(aUrl: WideString = 'http://www.sohu.com'): string; begin with CoXMLHTTP.Create do begin open('Post', aUrl, False, EmptyParam, EmptyParam); send(EmptyParam); Result := getResponseHeader('Date'); end; end; //格林威治时间(字符串)转换到北京时间 function GMT2BjDateTime(const GMT: string): TDateTime; var A: TArray<string>; begin A := GMT.Split([',', ' '], ExcludeEmpty); //XE4 支持 with TStringList.Create do begin CommaText := 'Jan=1,Feb=2,Mar=3,Apr=4,May=5,Jun=6,Jul=7,Aug=8,Sep=9,Oct=10,Nov=11,Dec=12'; A[2] := Values[A[2]]; Free; end; Result := StrToDateTime(Format('%s/%s/%s %s', [A[3], A[2], A[1], A[4]]), FormatSettings.Create(2052)); Result := Result + 8/24; //换算成北京时间 end; //测试 procedure TForm1.Button1Click(Sender: TObject); var strGMT: string; bjDateTime: TDateTime; begin strGMT := GetNetTime(); bjDateTime := GMT2BjDateTime(strGMT); ShowMessageFmt('%s'#13#10'%s', [strGMT, DateTimeToStr(bjDateTime)]); end;
在真正实用中, 我把 GMT2BjDateTime 函数换成了:
function GMT2BjDateTime(const GMT: string): TDateTime; var A: TArray<string>; Y,M,D,H,N,S: Word; begin A := GMT.Split([',', ' ', ':'], ExcludeEmpty); with TStringList.Create do begin CommaText := 'Jan=1,Feb=2,Mar=3,Apr=4,May=5,Jun=6,Jul=7,Aug=8,Sep=9,Oct=10,Nov=11,Dec=12'; A[2] := Values[A[2]]; Free; end; Y := StrToIntDef(A[3], YearOf(Now)); M := StrToIntDef(A[2], MonthOf(Now)); D := StrToIntDef(A[1], DayOf(Now)); H := StrToIntDef(A[4], HourOf(Now)); N := StrToIntDef(A[5], MinuteOf(Now)); S := StrToIntDef(A[6], SecondOf(Now)); Result := EncodeDateTime(Y, M , D, H, N, S, 0); Result := Result + 8/24; //换算成北京时间 end;
posted on 2013-08-17 01:02 万一 阅读(5353) 评论(1) 编辑 收藏
这篇关于随便找个网站获取格林威治时间, 并转换到北京时间的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-15我打造的超强PowerShell脚本开发环境是怎样的?
- 2025-01-15GitHub Actions工作目录详解
- 2025-01-15DoorDash的实时数据处理系统详解
- 2025-01-15Git高手秘籍:开发者终极速查表
- 2025-01-15使用Laravel和Neon构建多租户SaaS应用指南
- 2025-01-15给新手的9本最佳Linux书籍推荐
- 2025-01-15扩展外置模式以应对海量消息(每天处理2B+消息)
- 2025-01-15.NET技术为何越来越不受青睐了?
- 2025-01-15万字长文,k8s之父带你阅读 deployment 源码
- 2025-01-15k8s之父带你阅读 replicaset 源码【2w字】