London – Lady Brit's House/West Ham/Perivale St. Andrews
The play takes place during a cold January in London, likely around the same time that it was written in the early 20th century, since the characters talk about 1886 like it was only a few years ago. Major Barbara is trying to drive home the horrors of poverty, and the tensions between the haves and the have-nots, so it makes sense that Shaw set it in the bitter cold—that definitely heightens the stakes of the act set in the West Ham Salvation Army yard, where characters like Rummy, Shirley, and Price are outside freezing their grits off and hoping for food.
By contrast to the cold semi-misery that we get at the Army shelter, the stage directions describing the town surrounding the Undershaft factory paint a practically idyllic picture:
It is an almost smokeless town of white walls, roofs of narrow green slates or red tiles, tall trees, domes, campaniles, and slender chimney shafts, beautifully situated and beautiful in itself. The best view of it is obtained from the crest of a slope about half a mile to the east, where the high explosives are dealt with. (Act III)
The play is more about the characters than the setting, but Shaw does give us enough background to get the lay of the land, economically, weather-wise, and in terms of mood.