Ukraine has moved its official Christmas Day state holiday from January 7 to December 25 in a snub to Russia.
President Volodymyr Zelensky said the parliamentary bill would help Ukraine “abandon the Russian heritage of imposing Christmas celebrations”.
The law was signed by Mr Zelensky on Friday after being passed in parliament two weeks ago.
The legislation also moved the Day of Ukrainian Statehood, from July 28 to July 15, and the Defenders' Day, which commemorates armed forces veterans, from October 14 to October 1.
“The relentless and successful struggle for their identity contributes to … the desire of every Ukrainian to live their own life with their own traditions and holidays,” an explanatory note to the bill on the parliament’s website said.
The new law will help Ukraine to “abandon the Russian heritage of imposing Christmas celebrations on 7 January”, it added.
Ukraine's largest Ukrainian Orthodox Church, which has long-standing historic ties to Moscow, has previously celebrated the holidays according to the Julian calendar used by Russia.
Patriarch Kirill, the head of the Russian Orthodox church, is a supporter of Russian President Vladimir Putin.
It comes as Ukraine continues to distance itself from Russia following the annexation of Crimea in 2014 and the subsequent invasion in February 2022.
In other developments, a Russian missile strike hit a residential complex and a building of Ukraine's security service in the central city of Dnipro on Thursday.
Interior Minister Ihor Klymenko said five people were injured and emergency services had completed an apartment-by apartment search of the area.
Unverified video on social media showed rubble strewn throughout a courtyard in a large complex of apartment buildings.