US stocks close higher after Trump says Iran war could end within weeks