UTC时间转指定时差精确到毫秒
//UTC时间
DateTime dt = new DateTime(2018, 3, 31, 2, 30, 10, 33);
//转北京时间,毫秒精确后两位
string str = dt.AddHours(8).ToString("yyyy/MM/dd h:mm:ss.ff");//2018-3-31 10:30:10.33
//格林尼治标准时间,毫秒精确后三位
string str = dt.AddHours(0).ToString("yyyy/MM/dd h:mm:ss.fff");//2018-3-31 2:30:10.033
dt.AddHours(value) value是时间差
备注:HH为24小时制,hh为12小时制。下面示例图: