It is a well-known medical fact that water-soluble vitamins are better absorbed on an empty stomach. So, the usual time of taking Vitamin B12 will be in the morning as the first dose, half an hour before lunch, and 2 hours post a meal.