That said, it's better to go shopping in the morning than in the evening. The sooner you get to the store, the fewer people there will be, no matter the day. From Monday to Friday, stores are often crowded in the late afternoon when people leave work, so avoid those hours. To make sure your store doesn't run out of what you're looking for, the best time of day to shop is from mid-morning to early afternoon.
Many stores store their produce fresh during this period (non-perishable items are usually stocked up in the evenings, when people aren't walking down the aisles). This is a good time to find the freshest produce (and in my case, sometimes the only time to find coveted products, such as organic strawberries, which always disappear quickly in my city). The best option is to get to the market early, as soon as it opens, or late, just before it closes. You'll walk through the corridors and walk away with practically no one to stop you.
During the week, avoid visitors between 16:00 and 18:00 hours. Also, stay away on weekends, when people are going to be stocking up for the week, or a few hours before an important sporting event (for example, if you shop around this time, you can get much of your shopping list for a fraction of the retail price). Another strategy he likes is to map the aisles of his regular supermarket and make a list aisle by aisle to shop more efficiently.