While speaking at a military camp after imposing martial law across the south of the country, he said they were allowed to rape up to three women.
This was the second rape joke Rodrigo Duterte has been condemned for making since announcing his candidacy.
A human rights group said his comment was "sickening" and Chelsea Clinton tweeted that rape was never funny.
Mr Duterte's words were: "I will be imprisoned for you. If you rape three (women), I will say that I did it. But if you marry four, son of a whore you will be beaten up."
Chelsea Clinton, the daughter of former president Bill Clinton and 2016 presidential candidate Hillary Clinton, wrote on Twitter that Mr Duterte was "a murderous thug with no regard for human rights" and that "rape is never a joke".
Phelim Kine of Human Rights Watch said the president's comment was "a sickening attempt at humour" that sent soldiers a signal they could commit rights abuses while enforcing martial law.
He said: "Duterte's pro-rape comments only confirm some of the worst fears of human rights activists that the Duterte government will not just turn a blind eye to possible military abuses in Mindanao, but may actively encourage them."
And a women's political party in the country, Gabriela, said in a statement: "Rape is not a joke. Martial law and the heightened vulnerability to military abuse that it brings to women and children are not a joke either."
Martial law was imposed last week on Mindanao in the south of the Philippines, where Muslim separatists and other rebels are fighting the army.
Last year, Mr Duterte joked about a 1989 rape and murder of an Australian missionary. He said that as mayor of the town where it happened, he should have been "first in line".
His spokesman Ernesto Abella said on Saturday that Mr Duterte was using "heightened bravado", giving "his full support to the men and women in uniform", and "taking complete responsibility for their actions".
The president of the Philippines has come under fire for joking about rape in a speech to soldiers.