Я использую метод DateTime.Now
, чтобы получить местное время на компьютере, а затем отправить его с моделью на сервер ASP.NET.
Значение DateTime
, которое я отправляю:
Значение DateTime
, которое я получаю от сервера:
Итак, как вы можете видеть на скриншотах, два значения различны.Моя проблема заключается в том, что они должны быть одинаковыми.
Метод Post на сервере ASP.Net:
public async Task<IHttpActionResult> PostTimeCap(TimeCap timeCap)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
List<TimeCap> l = db.TimeCaps.ToList();
TimeCap lastCap;
if (l.Count > 0)
{
lastCap = l[l.Count - 1];
for (int i = l.Count - 1; i >= 0; i--)
{
if (l[i].userind == timeCap.userind && lastCap.date < l[i].date && !l[i].isPairDefined)
{
lastCap = l[i];
}
}
}
else
{
lastCap = null;
}
if (timeCap.typeOfCap == "open")
{
}
else if(timeCap.typeOfCap == "overwork")
{
}
else if(timeCap.typeOfCap == "close")
{
if (lastCap != null)
{
if (lastCap.typeOfCap == "open" || lastCap.typeOfCap == "overwork")
{
timeCap.isPairDefined = true;
timeCap.pairIndex = lastCap.id;
lastCap.isPairDefined = true;
await PutTimeCap(lastCap.id, lastCap);
double totalSec = (timeCap.date - lastCap.date).TotalSeconds;
totalSec = totalSec / 3600;
timeCap.workhours = (float)totalSec;
}
else
{
//DeleteTimeCap(lastCap.id);
//TimeCap lc = FindLastCap(timeCap.userind);
//timeCap.isPairDefined = true;
//timeCap.pairIndex = lc.id;
}
}
}
db.TimeCaps.Add(timeCap);
await db.SaveChangesAsync();
return CreatedAtRoute("DefaultApi", new { id = timeCap.id }, timeCap);
}
Метод Get на сервере:
public IQueryable<TimeCap> GetTimeCaps()
{
return db.TimeCaps;
}
Наклиент:
TimeCap t = new TimeCap
{
date = DateTime.Now,
typeOfCap = "overwork",
userind = DataStaticStorage.userId,
isPairDefined = false,
isVerifyed = false,
pairIndex = 0,
imgIndex = imgstr,
workhours = 0f
};
И когда я получаю с сервера:
t.dateStr = tp[i].date.ToString("F");
Мне нужно опубликовать дату и затем получить ее обратно без изменений.
Я скучаюбольшой осколок знаний о DateTime
и Asp.net?
Мое местное время GMT +6 (Казахстан, Астана)