پیامبر صلی الله علیه وسلم مطلع شد که عبدالله بن عمرو رضی الله عنهما پی هم روزه می گیرد و افطار نمی کند، و تمام شب را نماز می خواند و نمی خوابد، پس او را از آن نهی کرد و به او فرمودند: روزه بگیر و افطار کن، و قیام کن و بخواب. او صلی الله علیه وسلم وی را از روزه گرفتن پی هم و همه شب را در قیام اللیل سپری کردن نهی فرمود، و به او فرمودند: اگر چنین کنی چشمت ضعیف شده و به داخل سر ات فرو می رود، و نفست ملول و خسته می شود؛ پس هر كس که همه روزهای سال را روزه بگیرد در واقع روزه نگرفته است؛ چون ثواب روزه را به خاطر مخالفت نهی حاصل نمی نماید، و به خاطر روزه گرفتن افطار نکرده است. سپس او را به روزه گرفتن سه روز از هر ماه راهنمایی نمود؛ زیرا روزۀ هر روز برابر است با ده روز، و این کمترین چند برابری نیکی است. عبد الله گفت: من توان بیشتر از این را دارم. رسول الله صلی الله علیه وسلم فرمودند: پس مانند روزۀ داود علیه السلام روزه بگیر و این بهترین روزه هاست، یک روز را روزه می گرفت و یک روز را افطار می نمود، و هرگاه با دشمن رو در رو می شد هرگز فرار نمی کرد؛ زیرا طریقۀ روزه اش بدن او را ضعیف نمی کرد.