Шанхай мае вільготны субтрапічны клімат, згодна з кліматычнай клясыфікацыяй Кёпена, яуі складаецца з 4 сезонаў. Зімы халодныя й вільготныя, у гэты перыяд назіраюцца халодныя паўночна-заходнія вятры з Сібіры, якія могуць стаць чыннікам паніжэння тэмпературы ніжэй за нуль, аднак у большасці дзён зімы назіраюцца толькі адзін альбо два снегапады. Лета гарачае і вільготнае, у сярэднім каля 8 дзён трымаецца тэмпература, вышэйшая за 35 °C; у гэты сезон магчымы выпадковыя ліўні альбо навальніцы. Горад таксама ўспрымальны да тайфунаў у летні перыяд і напачатку восені, ні адзін з якіх у апошнія гады не прынёс значных страт[13]. Вясна часта бывае зменлівай і дажджлівай; восень, як правіла, сонечная і сухая. Горад у сярэднім мае тэмпературу 4,2 °C у студзені і 27,9 °C у ліпені, гадавы паказчык складае 16,1 °C. Шанхай атрымоўвае ў сярэднім 1878 гадзін сонечнага святла ў год. Самая высокая тэмпература за ўсю гісторыю складала 40,2 °C, а самая нізкая была роўная -12,1 °C[14].