#original-date: 23.03.2008 Sun
#original-time: 5:49 AM
#original-day: 2797
#original-host: WinXP Prof SP2 (Build 2600)
Продолжаю крутить самый дурацкий алгоритм. Чтобы было точно, я решила не делить количество дней прошедших с моего дня рождения на очень приблизительное число дней в году, а сделала немного другое. Вот какой был алгоритм:
Age = DateDiff("yyyy", DateSerial(1983, 11, 1), Now)
DateDiff(), как оказалось, возвращает Long и как-то странно округляет цифру. Поэтому сейчас, судя по алгоритму, мне 25. Поэтому я сделала иначе:
Private Function GetMyAge() As BStr
Dim TXT As BStr
Dim XNow As Date
Dim Years As Long
XNow = Now
Years = Year(XNow) - 1983
If DateSerial(1069, Month(XNow), Day(XNow)) < DateSerial(1969, 11, 1) Then
Years = Years - 1
End If
GetMyAge = "Мой возраст: " & Years
End Function
Для начала я беру разницу. Наверное также поступает и DateDiff() ^^' Потом смотрю, сегодняшнее число меньше дня рождения или нет - я пролсто сравниваю два значения Date. Тут учитывается что в день дня рождения мне уже на год больше. Если нет, то я отнимаю единичку ^^ Честно говоря, несмотря на то что тут обычная математика, у меня с математикой всё очень плохо, поэтому я всё равно не до конца охватываю весь глубинный смысл онимания еденички. Писала просто по интуиции ^^
Кстати, судя по всему, тут учитывается и нулевой возраст, а если меня ещё не было - отрицательный ^^
#music: Yuki Kajiura\Madlax ED Single\inside your heart