As far as I'm aware icmp timestamp query is used to calculate time a packet takes to reach a destination.
Source stores the time packet leaves and sends a timestamp request to the destination.
Destination recieves the packet and adds the time it was recieved and the time it was sent back to the original sender.
Sender can then calculate the total round trip time that it took took to reach the destination.
These values can then be used to improve network performance if the time taken is very high.
Paraphrased from my bumper book of "TCP/IP is fun"