3日前に友人がこれを手伝ってくれましたが、私のコントローラとビューを再構築して、クライアントが "datetime.now"私はいくつかの言語の誤差については申し訳ありません、ブラジル、出身1台のコントローラ上の行を自動入力するdatetime.now新しいレコード
:私は上のラインだった覚え をコンパイルしたウェブ上に新しいものを作成します。
3日前に友人がこれを手伝ってくれましたが、私のコントローラとビューを再構築して、クライアントが "datetime.now"私はいくつかの言語の誤差については申し訳ありません、ブラジル、出身1台のコントローラ上の行を自動入力するdatetime.now新しいレコード
:私は上のラインだった覚え をコンパイルしたウェブ上に新しいものを作成します。
最初に画像としてコードを投稿しないでください。あなたの質問自体は、関連するすべてのコードをテキストに含める必要があります。
しかし、ここには特別なことは何もありません。あなたが実際にカスタムを使用するために、任意の周波数でこれをやろうとしている場合
foo.CreatedDate = DateTime.Now;
db.Foos.Add(foo);
db.SaveChanges();
はしかし、それは良いでしょう:あなたは、コントローラに保存する前にDateTime.Now
にプロパティを設定したい場合は、あなただけのことを行いますあなたの財産上のゲッターとセッターはこれを自動的に処理するために:
private DateTime? createdDate;
public DateTime CreatedDate
{
get { return createdDate ?? DateTime.Now; }
set { createdDate = value; }
}
そのようにプロパティが明示的に設定されていない場合、それは自動的にDateTime.Now
を返します。それが設定されると、それが設定されたものを返します。
最後に、DateTime.Now
を避ける必要があります。その値はローカルののサーバの時間であり、実際には何の関連性もありません。異なるタイムゾーンのサーバーでサイトを同じ場所に配置すると、データベースの価値はすぐに意味をなさないものになります。 DateTime.UtcNow
を使用する必要があります。これは現在の日付と時刻をUTCで返します。これはローカルサーバーの時刻に関係なく常に同じです。または、ローカル時間の保管を主張する場合は、DateTimeOffset.Now
を使用してください。少なくとも、作業するタイムゾーンコンポーネントが必要です。