Hi Anan,
Neuropixels sample at roughly 30 kHz, but the actual sample rate can be slightly higher or lower and the clocks will drift by ~10s of ms per hour. You will either need to use the time values (in seconds) in the synchronized_timestamps.npy file generated for each stream (AP, LFP, NIDAQ) or you will need to compute a scaling factor for each probe manually to use the integer timestamps (in sample numbers).
The temporal offset between the start of the first sync pulses defines the shift between any device and the master clock. Once this is known, you can calculate the expected interval between the first and last sync pulse (given the expected sample rate of a device). The ratio of the actual interval to the expected interval defines the scaling factor for that device. Then, each non-master clock can be transformed by: aligned_timestamps = scaling .* original_timestamps + shift