ASP MVC 4.5を使用しています。私は支払いの詳細を入力するためのビューがあります。私は現在の時間を取得するためにC#を使用します。しかし、サーバー上でそれをホストした後、私は熱いエラーを発見した。それは別のdateTime(私のサーバーの時刻かもしれない)を私のユーザーのローカル時刻ではなく取得します! C#を使用してユーザーの現在時刻を取得したいとします。私はC#またはjavascriptを使うべきですか? javascriptを使ってユーザーの時間を得るのは簡単だと思います。しかし、私はこのためにC#を使用したい。手伝って頂けますか? マイウェブAPIは:サーバー側コードの代わりにローカルdatetimeを取得サーバー側コードC#
// POST api/PaymentApi
public HttpResponseMessage PostPayment(Payment payment)
{
if (ModelState.IsValid)
{
var mem= db.Members.Where(m => m.MemberID.Equals(payment.MemberID)).FirstOrDefault();
if (mem ==null)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
payment.Date = DateTime.Now;
db.Payments.Add(payment);
db.SaveChanges();
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, payment);
response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = payment.PaymentID }));
return response;
}
else
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
}
私もpayment.Date = DateTime.Now.ToLocalTime();
を使用しますが働いていません!
ここでは、javascriptの日付を使用すると回答しました。それが私が使った理由です。しかし、javascriptはdatetimeを送信し、私のWebApiはそれを若干異なるものにします。
Javascriptを:Date:Tue Dec 27 2016 11:04:12 GMT+0600 (Local Standard Time)
C#:例えば、ローカルホストの時計、とDate:{27/12/2016 05:04:12}
文化をチェックしましたか? –
*サーバー上で*実行されている.NETコードは、*サーバー時刻*のみ表示されます。あなたがしなければならないことは、クライアント上でコードを実行してそこにいる時間を把握し、それをサーバーに送信することです。しかし、その時代はあなたのサーバーと大きく異なると思いますか?あなたは、UTC時間が欲しくないと確信していますか? –
いいえ、私はちょうど支払いを提出するクライアントの時間を取得したいです。 – Fawel