2016-06-13 2 views
0

私は小さなC#windowsフォームアプリケーションを使用して、別のアプリケーションからWebサービスを消費し、レコードを送信します。GMTオフセットを使用してDateTimeを文字列にフォーマットする方法

このWebサービスは、次の形式で日時値を受信する必要があります。

-03:00はGMT(アルゼンチン)

である私が選ぶ2つの日付時刻ピッカーを持って

"2016-10-10T23:00:00-03:00"

日付と時刻、後で必要な形式の文字列の情報を連結します。

この値をWebServiceにDate形式で送信する必要があります。 はその後、私が試した次

String sFinalDate ="2016-10-10T23:00:00-03:00"; 
Date dFinalDate= new DateTime(); 
dFinalDate=Covert.ToDateTime(sFinalDate); 

ここでの問題はdFinalDateは次の形式を保存することです: "10/06/2016 23:00:00"

がどのように私は私が必要とする形式で日付フィールドに自分の文字列を変換することができますか?

ありがとうございます!

+0

どのようにWebサービスとやり取りしていますか?生成されたプロキシを使用する場合、パラメータは 'DateTime'値でなければならず、フォーマットについて心配する必要はありません。パラメータを 'dFinalDate'に設定し、それが動作しない場合に戻ってください。プロキシは正しい文字列形式に変換してXMLを生成します。 –

+6

'DateTime'値にはフォーマットがありません。それはちょうど日付と時間です。値を再度テキストとして使用する場合は、その値をどのように* *にするかを指定します。 –

答えて

0

あなたはRound-trip Format Specifierの凶悪化された形を記述しました。

標準的な使用の例は次のようになります。

// this gives you a date string that looks like: 2016-06-13T15:30:55-04:00 
var dt = DateTime.Now.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ssK"); 
:あなたはこのようなカスタム書式指定子を使用する必要がありますので、

// this emits a string that looks like: 2016-06-13T15:30:55.2216814-04:00 
var dt = DateTime.Now.ToString("o"); // <-- round-trip format 

あなたの要件は、ミリ秒単位のないフォーマットを持つことです

往復形式の詳細:https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Roundtrip

+0

一言 - 私は公式に正解を返し、誰かがそれを返す。非常に素晴らしい。 – code4life

関連する問題