WhatsApp has allegedly spent months developing a feature that will let you schedule messages, and this is now finally being made available to a limited number of users who are part of the beta program for WhatsApp on the Google Play Store for Android.
As you might expect, it lets you schedule messages to be delivered at a specific date and time. It works both for one-on-one chats and group chats. The messages you schedule will be delivered at the time you set even if your device is offline then.
Message scheduling currently supports text, links, photos, and videos, though you can only schedule one image or video per message at this time. Scheduled messages are end-to-end encrypted just like any other message on WhatsApp. Hopefully this feature will be rolled out to everyone soon.

Once you get it, you'll be able to schedule a message by tapping and holding the send button in a chat. This will bring up an interface where you can choose when you want the message to be delivered. The earliest you can schedule a message is 10 minutes from now, but you can go up to two weeks if you want.
Once you've scheduled a message, it will be shown in a dedicated section in the chat info screen. You can see, manage, and delete your scheduled messages at any time before they get sent. Of course, the intended recipient never knows that you scheduled a message for them, nor if you deleted it before it was sent.
For groups, WhatsApp will send a scheduled message to those who were part of the group when the sender scheduled it. So if someone joins the group in between the message being scheduled and sent, they won't get it.
