In April, the weather in Shanghai is typically warm. Average daily high temperature in April is about 18 degrees above zero. On average, Shanghai has 12 cloudy, 8 partly cloudy, 7 sunny, and 3 rainy days in April. The rains are usually moderate.