Trump's announcement of the ceasefire on Truth Social on Friday also said each country, locked in more than four years of conflict, would exchange 1000 prisoners of war.
"I'd like to see a big extension," Trump told reporters. "It could be."
Both Kyiv and Moscow have accused the other of violating ceasefires declared separately as Russia readies to hold a Victory Day parade on May 9 that marks the 1945 Soviet victory over Nazi Germany.
Trump has grown increasingly frustrated by the lack of progress in ending the Ukraine-Russia war, and a halt in fighting offers a bit of good news for the US president, whose war against Iran with Israel has hurt his domestic approval rating.
Efforts to end the Iran war, now in its third month, appeared stalled amid new flare-ups in fighting in the Gulf.
The Ukraine-Russia ceasefire would include a suspension of all "kinetic activity" and a swap of 1000 prisoners from each country, Trump wrote in a post on Truth Social.
"This request was made directly by me, and I very much appreciate its agreement by President Vladimir Putin and President Volodymyr Zelenskiy. Hopefully, it is the beginning of the end of a very long, deadly, and hard fought War," he said in the post.
Trump said talks were continuing to move towards an end of the war "and we are getting closer and closer every day".
Zelenskiy, writing on Telegram, confirmed the ceasefire had been arranged as part of US negotiating efforts and that humanitarian issues remained a key priority.
"That is why today, within the framework of the negotiation process mediated by the American side, we received Russia's agreement to conduct a prisoner of war exchange in the format of 1000 for 1000," Zelenskiy wrote.
Zelenskiy also issued a tongue-in-cheek decree "allowing" Russia's May 9 military parade to proceed and saying Ukrainian weapons would not target Red Square.
Russia has warned that any attempt by Ukraine to disrupt the Red Square parade on Saturday would trigger a massive missile strike on Kyiv.
Friday's news followed what Zelenskiy described as substantive talks between US and Ukrainian officials in Miami, with US envoys due to visit Kyiv in coming months.
Kremlin aide Yuri Ushakov, speaking to reporters on Putin's behalf, said Russia had also agreed to Trump's initiative.
"An agreement on this matter was reached during our telephone discussions with the US administration," he said.
Moscow mayor Sergei Sobyanin said air defenses had intercepted Ukrainian drones headed for the capital over a seven-hour period ending about 8pm, local time.
Since Trump announced the ceasefire, Moscow has issued one such notice.
Earlier, Russia and Ukraine had accused each other of violating ceasefires that each had separately declared.
The two sides have been pummelling each other with missiles, drones and artillery, with no end to the war in sight.
Peace talks are stalled, with Ukraine rejecting Putin's demand that it surrender territory it has successfully defended since 2022.
Putin had unilaterally declared a two-day ceasefire on Friday and Saturday to cover the Victory Day commemorations - Russia's most revered national holiday.
Kyiv responded that a ceasefire just for the holiday was inappropriate and called instead for an indefinite truce to begin two days earlier, which Moscow ignored.
The 2026 parade in Moscow - usually a show of Russian military might with intercontinental ballistic missiles and tanks - will have no military equipment on display.