A time synchronization method for synchronizing times of a first apparatus and a second apparatus, the time synchronization method comprising: transmitting, by the first apparatus, a packet to the second apparatus via a relay apparatus that relays the packet, the packet including the time of the first apparatus; receiving, by a first port (501 a) of the relay apparatus, the packet from the first apparatus; determining, by a packet type determining part of the relay apparatus, whether a type of the packet received by the first port (501 a) is a type for time synchronization; in a case of determining that the type of the packet received by the first port is a type for time synchronization, providing, by a counter value providing part of the relay apparatus, a value to the packet, the value indicating a reception time of the packet by the first port (501 a); transmitting, by a third port of the relay apparatus, the packet received by the first port to another apparatus; receiving, by a fourth port of the relay apparatus, the packet transmitted to the another apparatus from the another apparatus; determining, by a packet type determining part of the relay apparatus, whether a type of the packet received by the fourth port is a type for time synchronization; characterized by in a case of determining that the type of the packet received by the fourth port is a type for time synchronization, providing, by a delay value providing part, a difference between the value provided to the packet indicating the reception time of the packet by the first port and a current time, to the packet upon a transmission of the packet by a second port, the difference serving as a delay value; transmitting, by the second port of the relay apparatus, the packet to the second apparatus; and executing, by the second apparatus, a control for time synchronization based on the time of the first apparatus included in the packet and the delay value provided to the packet. transmitting, by the first apparatus, a packet to the second apparatus via a relay apparatus that relays the packet, the packet including the time of the first apparatus; receiving, by a first port (501 a) of the relay apparatus, the packet from the first apparatus; determining, by a packet type determining part of the relay apparatus, whether a type of the packet received by the first port (501 a) is a type for time synchronization; in a case of determining that the type of the packet received by the first port is a type for time synchronization, providing, by a counter value providing part of the relay apparatus, a value to the packet, the value indicating a reception time of the packet by the first port (501 a); transmitting, by a third port of the relay apparatus, the packet received by the first port to another apparatus; receiving, by a fourth port of the relay apparatus, the packet transmitted to the another apparatus from the another apparatus; determining, by a packet type determining part of the relay apparatus, whether a type of the packet received by the fourth port is a type for time synchronization; characterized by in a case of determining that the type of the packet received by the fourth port is a type for time synchronization, providing, by a delay value providing part, a difference between the value provided to the packet indicating the reception time of the packet by the first port and a current time, to the packet upon a transmission of the packet by a second port, the difference serving as a delay value; transmitting, by the second port of the relay apparatus, the packet to the second apparatus; and executing, by the second apparatus, a control for time synchronization based on the time of the first apparatus included in the packet and the delay value provided to the packet.