2

如果 DOB 字段用于显示用户年龄,如何将其保密?例如,stackoverflow 的生日字段如何对其他用户保密?显示字段 Age 何时更改?它是仅在每个月的第一天更改还是在生日的随机范围内随机更改?或者也许只是在每年的第一天?

4

2 回答 2

1

我无法得出结论,但我知道我的 SO 个人资料中的年龄正如预期的那样在我生日那天翻转了。我想有人可以每天扫描 SO 个人资料并记录年龄,然后根据他们的变化来确定某人的生日,但如果有人想知道那么糟糕,我想他们可以知道。如果您真的担心自己的隐私,请不要输入您的真实生日(或根本不要输入)。

此外,有意或无意地,数据转储中提供的用户年龄并不总是准确的。我怀疑它是(当年)-(出生年份),这导致转储中的年龄(在我的情况下为 22 岁)比用户的实际年龄(我实际上是 21 岁)多 1 岁。

于 2009-06-21T14:54:08.763 回答
0

当然,每次您访问“个人资料”页面时都会计算该值。不断地计算和存储每个人的年龄太密集了。

当然,如果您有一个 Profile 类型的类,您只需将其设为只读属性!

就像是:

公共静态int计算年龄(日期时间出生日期){

    DateTime today = DateTime.Today;

    int personAge  = (today.Year - userBirthDate.Year);
    // deduct a year if the birthday hasn't passed yet.
    if ((today.Month < birthDate.Month) || (today.Month == userBirthDate.Month && today.Day < userBirthDate.Day))
        --personAge;

    return personAge;
}

编辑:在问题 9中也有著名的问题

于 2009-06-21T18:06:14.857 回答