データベース サーバーが米国にあります。ユーザーはインドからエントリを作成します。日付はサーバーではなくクライアントに保存する必要があります。残念ながら、サーバーの日付はデータベースに保存されています。その日にのみ作成された現在の日付のエントリのみをユーザーに表示しています。問題は、ユーザーが午後 12 時 30 分 (クライアント マシン) までレコードを入力すると、ユーザーに表示されますが、午後 12 時 30 分 (クライアント マシン) 以降はエントリが表示されず、午後 12 時 30 分 (クライアント マシン) 以降に作成されたエントリのみが表示されます。表示されます。
例: 2013 年 6 月 5 日 (DD/MM/YYYY) から午後 12:30 までに行われたエントリは、クライアント マシンの日付が 2013 年 6 月 5 日 11:57 AM の場合に表示されますが、クライアント マシンの日付が 2013 年 6 月 5 日 12 の場合に表示されます。 :57 PM 入力されたエントリは表示されませんが、12:30 PM 以降に入力されたエントリが表示されます。上記のDBでは、例えば。作成日が 05/05/2013 として保存されている理由がわからない? .cs ファイル内:
public static DateTime GetIndianDate(DateTime dateTime)
{
return TimeZoneInfo.ConvertTimeBySystemTimeZoneId(dateTime, TimeZoneInfo.Local.Id,"India Standard Time").Date;
}
今日のエントリのみを表示するには:
shipments = BLL.GetShipmentsByUserIdNDate(userId, Classes.Common.GetIndianDate(DateTime.Now.Date));
public static List<Shipment> GetShipmentsByUserIdNDate(Guid userId, DateTime dateTime)
{
Entities db = new Entities();
List<Shipment> shipments = (from s in db.Shipments
where s.UserId == userId && s.CreatedDate == dateTime
select s).ToList();
return shipments;
}
挿入中:
shipment.CreatedDate = Classes.Common.GetIndianDate(DateTime.Now.Date);
public static DateTime GetIndianDate(DateTime dateTime)
{
return TimeZoneInfo.ConvertTimeBySystemTimeZoneId(dateTime, TimeZoneInfo.Local.Id,"India Standard Time").Date;
}
では、クライアントマシンの日付をどのように保存しますか? 今でもサーバーの日付のみを保存しています。
助けて感謝!