如果用于显示用户年龄,如何将DOB字段与其他字段保持私密状态? 例如,stackoverflow生日字段如何与其他用户保持私密?显示字段年龄何时更改?是在每个月的第一天或在随机的生日范围内随机更改?或者也许只是在每年的第一天?
答案 0 :(得分:1)
我不能说清楚,但我知道我的SO档案中的年龄如我所料,在我的生日那天翻过来。我想有人可以每天扫描SO配置文件并记录年龄,然后在他们改变时识别某人的生日,但如果有人想知道那么糟糕,我猜他们可以知道。如果您真的担心自己的隐私,请不要放在真正的生日(或者根本不放入)。
此外,无论是有意还是无意,数据转储中提供的用户年龄并不总是准确的。我怀疑它是(当前年份) - (出生年份),这导致转储中的年龄(在我的情况下为22)比用户的实际年龄(我实际上是21岁)多1倍。
答案 1 :(得分:0)
每次访问“个人资料”页面时,都会计算该值。如果不断计算和存储每个人的年龄,那将太过密集。
当然,如果你有一个类型为Profile的类,你只需将它作为readonly属性!
类似的东西:
public static int CalculateAge(DateTime birthDate) {
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;
}
编辑: 在Question 9
中也有人着名