2009-06-21 5 views
2

DOBフィールドがユーザーの年齢を表示するために使用される場合、他のユーザーからDOBフィールドを非公開にする方法はありますか? たとえば、stackoverflowの誕生日フィールドは他のユーザーから非公開にされていますか?表示フィールドの年齢はいつ変更されますか?それは毎月初めに、またはランダムに誕生日の範囲内でランダムに変更されますか?あるいは、毎年の初めにちょうどいいでしょうか?ユーザの年齢を年数で表示すると、どのようにDOBフィールドを非公開にすることができますか?

+2

ない本当の問題に尋ねた... –

+0

は、関連するプログラミングではありません...しかし面白いことにそれを聞かなければならない、私は同じことを疑問に思っている。 1年に1度、それをスキャンし、ユーザーの宣言された誕生日を把握することができます。それらのうちのいくつかは真実になります。 – cletus

+0

これが "for example"が追加された理由です。デザインの質問の詳細 –

答えて

1

私は結論的に話すことができませんが、私の誕生日に私のSOプロフィールの年齢が予想通りに転がっていたことが分かりました。私は誰かが毎日のSOプロフィールをスキャンして年齢を記録し、誰かの誕生日を変更したときにそれを特定できると思うが、がひどくであることを知りたいと思ったら、本当にあなたのプライバシーを心配しているなら、あなたの本当の誕生日を置いてはいけません。

また、意図的にまたは意図せずに、データダンプで提供されたユーザーの年齢が常に正確であるとは限りません。私はそれが今年だと思う - (出生年)、ダンプ(私の場合は22)の年齢は、ユーザーの実際の年齢(私は実際に21歳)よりも1倍です。

0

確かに、値はプロファイルページにアクセスするたびに計算されます。すべての年齢を常に計算して保存することは、あまりにも集中的です。

もちろん、プロファイルタイプのクラスをお持ちの場合は、単に読み取り専用のプロパティにするだけです。

のような何か:

のpublic static int型CalculateAge(日時た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