1

トピックが言うように、私は次のような文字列を持っています

string CreatedDate = "12/09/2010"

DateTimeとしてのみ受け入れるWebメソッドに渡したい

customer.dateCreated = Convert.ToDateTime(CreatedDate);

当然、Web サービスが受け入れない日付の後に hh:mm:ss を追加するので、日付に変換するときに日付を短い形式に保つにはどうすればよいですか?

前もって感謝します

4

4 に答える 4

2

値は、その書式設定を何も知りません(DateTime実際、そうすべきではありません)。標準の日付/時刻形式を受け入れない場合、Web サービスが壊れているようです。Web サービスの実装は何ですか? 「顧客」は自動生成されたプロキシ クラスですか?

于 2010-11-23T11:22:45.653 に答える
1

あなたが持っていると仮定します:

void WebMethod(DateTime date);

string dateString = "12/09/2010";

次に次のようにします。

DateTime date;
if (DateTime.TryParseExact(dateString, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
{
    WebMethod(date);
}
else
{
    // raise an error - specified date is not in specified format
}

ノート:

date.Hour // 0
date.Minute // 0
date.Seconds // 0

それ以外の場合、DateTimeオブジェクトがありWebMethod(string date)、日付を指定された形式にする必要がある場合は、次のようになります。

DateTime date = ..;
WebMethod(date.ToString("dd/MM/yyyy"));
于 2010-11-23T11:25:21.823 に答える
1

WebService は日付を "12/09/2010" としてのみ受け入れますか? 通常、Web サービスは、 XML Schema Part 2: Datatypes Second Editionの推奨事項に従う必要があります 。

これはUTC形式です。使用:

DateTime.ParseExact(value, "ddd MMM dd HH:mm:ss zz00 yyyy", null);

ほとんどの場合、問題を解決します。

于 2010-11-23T11:38:42.190 に答える
1

DateTime時間情報を削除する.Dateプロパティがあります。

于 2010-11-23T11:21:59.780 に答える