生日提醒

时间:2010-07-21 08:34:56

标签: c#

我已经实现了一个用于用户生日提醒的Windows服务。 在午夜,该服务将邮件发送给在该特定日期过生日的相应人员。这适用于印度的用户......

现在我的要求是为世界上所有用户提供该服务...... 那么我应该在该服务中加强什么...? 因为印度时间不同于其他国家的时间...... 如果我按照印度时间在午夜解雇这项服务..在印度午夜可能意味着其他国家的时间不同...... Plz建议我一个解决方案。

5 个答案:

答案 0 :(得分:2)

最好的是将时间保持在UTC。在这种情况下,您可以根据需要将时间转换回区域时间。

答案 1 :(得分:2)

在标签上显示生日提醒

    DateTime birthday = Convert.ToDateTime("1991/12/24");
    int years = DateTime.Now.Year - birthday.Year;
    birthday = birthday.AddYears(years);
    DateTime check = DateTime.Now.AddDays(7);
    if ((birthday > DateTime.Now) && (birthday < check))
    {
        lbbirthday.Text = ("This week is your birthday !!!");
    }

有关更多详细信息,您可以阅读show Birthday reminder in asp.net c#

答案 2 :(得分:1)

您需要存储用户时区偏移量并将其添加/减去当地时间,以便了解发布电子邮件的时间...

但说实话,如果电子邮件迟到或早退几小时,用户真的很在意,基本上它仍然是大致相同的一天..

答案 3 :(得分:0)

您可以查看示例here进行时区转换。但你怎么知道这个人在哪里?它是存储在某个地方,如果是的话,你在该地点的哪个时区检查它并根据它发送电子邮件。

答案 4 :(得分:0)

Mate,你正在和程序员交谈。 99.9%的人都知道世界上有不同的时区。 如果您有关于用户位置的信息,您可以使用此问题中的信息来证明用户所在的时区,并在时区的午夜时间发送消息: Web service - current time zone for a city?