show variables like '%time_zone%'
这是我连接服务器的mysql结果(OS:centos)
这是我本地部署的mysql(OS:win10)
utc标准时间:utc_timestamp()
北京时间,相差8个时区+8:CONVERT_TZ(utc_timestamp(),'+00:00','+08:00')
DATE_FORMAT(CONVERT_TZ(utc_timestamp(),'+00:00','+08:00'),'%Y-%m-%d 00:00:00')
mysql官方文档
https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_convert-tz
.net 时间时区
Console.WriteLine(TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, TimeZoneInfo.Utc));
Console.WriteLine(TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, TimeZoneInfo.Local));
Console.WriteLine(TimeZoneInfo.ConvertTimeToUtc(DateTime.Now, TimeZoneInfo.Local));
Console.WriteLine(TimeZoneInfo.ConvertTimeToUtc(DateTime.UtcNow, TimeZoneInfo.Utc));
结果:
提示:注意方法的两个参数
ConvertTimeFromUtc:第一个参数时间必须是UTC时间,不然会报错
错误提示:
Unhandled Exception: System.ArgumentException: The conversion could not be completed because the supplied DateTime did not have the Kind property set correctly. For example, when the Kind property is DateTimeKind.Local, the source time zone must be TimeZoneInfo.Local.
Parameter name: sourceTimeZone
ConvertTimeToUtc:两个参数的时区必须一致
否则错误提示:
Unhandled Exception: System.ArgumentException: The conversion could not be completed because the supplied DateTime did not have the Kind property set correctly. For example, when the Kind property is DateTimeKind.Local, the source time zone must be TimeZoneInfo.Local.
Parameter name: sourceTimeZone