4.4 Calculating the PidTagScheduleInfoFreeBusyBusy Property
The PidTagScheduleInfoFreeBusyBusy property (section 2.2.1.2.4) is calculated by using the following equations:
Start time is the number of minutes between midnight on the first day of the month and the start time of the event in hexadecimal. The number of days before the scheduled date in that particular month × 24 (hours/day) × 60 (minutes/hour) + (hour of start time on a 24-hour clock adjusted for UTC) × 60 (minutes/hour) = Text value of start time in minutes
Note Each time zone requires a different adjustment for UTC.
End time is the number of minutes between midnight on the first day of the month and the end time of the event in hexadecimal.
For example, assume there is only one event with a free/busy status of busy that occurs during the months of February, March, April, and May. It occurs between noon and 1:00 P.M. Pacific Standard Time on February 2. The publishing interval is three months. The time of publishing is 12:00 A.M. on February 25, UTC.
The value is determined by using the following calculations.
Start time |
---|
Number of days before the scheduled date in that particular month = 1 Start hour = noon = 12 on a 24-hour clock + 8 for UTC conversion = 20 Note: +8 is the difference between UTC and Pacific Standard Time. The adjustment is different for each time zone. Start time in minutes = (1 * 60 * 24) + (20 * 60) = 1440 + 1200 = 2640 Hexadecimal start time = 0A50 |
End time |
---|
Number of days before the scheduled date in that particular month = 1 End hour = 1:00 P.M. Pacific Standard Time = 13 on a 24-hour clock + 8 for UTC conversion = 21 Note: +8 is the difference between UTC and Pacific Standard Time. The adjustment is different for each time zone. End time in minutes = (1 * 60 * 24) + (21 * 60) = 1440 + 1260 = 2700 Hexadecimal end time = 0A8C |
Note In some cases, the UTC conversion changes the date of the start time or end time.
The multivalue binary will have one binary value. The binary value will have the following four bytes, encoded in little-endian — the first two bytes for the start time and the second two bytes for the end time: 0x50, 0x0A, 0x8C, 0x50.