2016-11-04 29 views
2

我々は2つの日付時刻の間にチェックイン場所チェンジ何かを見つけるためにREST APIを介してTFS 2015を使用している:TFS 2015のアップデート2 - 夏時間問題

http://internal01:8080/tfs/AppCollection/hr/_apis/tfvc/changesets?fromDate=2016-10-25T14:40:01.570&itemPath=$/HR/P1/Tempest/DevQA&api-version=1.0&toDate=2016-10-25T14:50:01.570 

問題は、英国で我々が終了したことです先週の夏時間です。 Visual Studioでチェンジは残りのAPIは(チェックインは、夏時間の間、先週だったの後ろに時間とこの項目の時間を返して

をチェックインの正確な時刻を表示していますが

"createdDate":"2016-10-25T13:49:44.573Z", 

答えて

1

APIは、 "Zulu Time"、つまりCoordinated Universal Time (UTC)で日付を返しています。ISO 8601 speciのように、変更セットが返されていますが、返された値は夏時間を考慮していません。日付タイムズ

ための品名あなたは、文字列の末尾に「Z」で伝えることができます:

"createdDate":"2016-10-25T13:49:44.573Z", 
            ^

これは、APIの行うためのかなり一般的なものである、のは、Visual Studio Team Servicesの中にある、まったく同じAPIを覚えています多くのタイムゾーンでホストされ、複数のタイムゾーンでクライアントからアクセスされます。

これらの場合、時刻は現地時間に変換するのがクライアントの仕事です。

些細なC#は/ NETの実装は次のとおりです。

var createdDateUtc = "2016-10-25T13:49:44.573Z"; 
var createdDateLocal = DateTimeOffset.Parse(createdDateUtc).ToLocalTime(); 
Console.WriteLine(createdDateLocal); 

//Prints: 25/10/2016 14:49:44 +01:00 
+0

はありがとうございました!それはしばらく私たちを悩ませています。 答えとしてマークしますが、私のポイントは十分に高くありません。 –

+1

@ MarkJohnson私は受け入れには何人かの担当者(それは実際にIIRCを与える)が必要だとは思わない。 – DaveShaw

+0

okは間違っている必要があります。ヘッドアップをありがとう! –

関連する問題