我正在使用javascript的getTimezoneOffset()方法,它给出了UTC时间和当地时间之间的时差,以分钟为单位。例如,如果用户时区为GMT + 2,则返回-120。我是将这些分钟传递给我的asp.net c#方法:
目前我正在使用以下方法将utc时间更改为用户时区时间:
public IHttpActionResult GetProductions(int timeOffset, int quarter)
{
int minutes = 0;
if (timeOffset < 0)
{
minutes = Math.Abs(timeOffset);
}
else
{
minutes = timeOffset * -1;
}
var cullingDatasets = _reportingRepository.GetProductions().ToList().Select(d => new
{
DeliveryDate = d.Delivered.Value.AddMinutes(minutes)
}).ToList();
return Content(HttpStatusCode.OK, cullingDatasets, Configuration.Formatters.JsonFormatter);
}
实施例: 如果我从印度打开网站,那么我从浏览器timedifferene = -330和quarter = 4传递然后我需要从c#方法返回以下数组: [05 / 09,12 / 09,19 / 09,26 / 09,3 / 10,10 / 10,17 / 10,24 / 10,31 / 10,7 / 11,14 / 11,21 / 11,28 / 11,5 / 12,12 / 12,19 / 12,26 / 12]
注意:我需要按用户时区划分季度的前几天,方法是以UTC和当地时间传递时差。