0

検索の日時形式を ddd MMM dd HH:mm:ss zzz yyyy から単に yyyy-MM-dd に変更しようとしています。変換で構文を正しく取得できないため、何か助けがあれば幸いです.

public DateTime CreatedAt
{
    get
    {
        return DateTime.ParseExact(this.created_at, "ddd MMM dd HH:mm:ss zzz yyyy", CultureInfo.InvariantCulture);
    }
}

public DateTime SearchDate
{
    get
    {
        return DateTime.ParseExact(CreatedAt.ToString(), "yyyy-MM-dd", CultureInfo.InvariantCulture);
    }
}

searchDate は私の問題です。

4

1 に答える 1

2

これはうまくいきません:

return DateTime.ParseExact(CreatedAt.ToString(), "yyyy-MM-dd", CultureInfo.InvariantCulture);

CreatedAt.ToString()は、デフォルトの形式で日時文字列を作成するためです( ではなく、yyyy-MM-ddこれを読み取ろうとしています)。

しかし、もっと重要なのは、なぜ日付をある文字列形式の時間から別の時間に変換しようとしているのですか? 値 (この場合DateTimeは CreatedAt) がある場合は、必要に応じてレンダリングできます (例: CreatedAt.ToString("yyyy-MM-dd")) それを文字列に変換してその一部を解析することには意味がないようです。

ボブが指摘したように、日付部分だけが必要な場合は、CreatedAt.Date. ただし、実際の目標が何であるかを考えて、できるだけコンバージョンが少ない (したがってコンバージョンの問題も少ない) 最短ルートを取るようにしてください。

于 2013-10-15T20:42:04.757 に答える