我正在开发一个Web API项目,该项目将由不同时区的客户使用。
假设我们的服务器将在美国,用户可以在任何地方访问该服务。
当我们创建用户时,我们必须设置到期日期。
public DateTime ExpireOn { get; set; }
从客户端发布日期
{
"expireOn":"2020-12-30"
}
当我检查过期日期时,我正在这样做
if(user.ExpireOn >= DateTime.UtcNow)
{
return true;
}
现在问题是如果我从美国以外的地方创建用户。
建议我如何以适当的方式处理到期日。
是否有任何标准方法可以处理不同时区的用户的到期日期? 以下是解释用户时间偏移http://www.prideparrot.com/blog/archive/2011/9/how_to_display_dates_and_times_in_clients_timezone
中显示的时区的博客
答案 0 :(得分:0)
您必须强制使用UTC时区(协调世界时)来调用您的API。
我还建议使用ISO 8601等标准。
答案 1 :(得分:0)
使用协调世界时(UTC)从API发送数据将确保日期不受时区影响
您可以使用JavaScript获取UTC日期:
var myDate = new Date(); // Set this to your date in whichever timezone.
var utcDate = myDate.toUTCString();