西晋的都城在不同时期有过两次迁移,具体情况如下:
西晋建立于265年,由司马炎定都洛阳,洛阳成为其长期统治中心。在此期间,洛阳是政治、经济、文化的核心区域,直至316年因战乱被迫迁都。
迁都长安
311年,刘聪率匈奴军队攻占洛阳,俘获晋怀帝,西晋在长安拥立愍帝延续政权。5年后(316年),刘曜率军攻破长安,愍帝投降,西晋统治结束。这一时期洛阳已非都城,但长安曾短暂作为陪都存在。
总结:
西晋的正式都城为洛阳,但历史上存在“先洛阳后长安”的都城变迁。南京则是东晋的都城,与西晋无直接关联。