c# utc 格式的时间怎么转换成北京时间?

2025-02-27 11:45:13
推荐回答(2个)
回答1:

用DATETIME后面加点 获取他得时间属性吗(包括年月日时分秒的)没然后吧她分别存在一个变量里面,格式就可以自己设置了

回答2:

C# utc datetime 互相转化:
public double ConvertDateTimeInt(System.DateTime time)
{
double intResult = 0;
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
intResult = (time - startTime).TotalSeconds ;
return intResult;
}
public DateTime ConvertIntDatetime(double utc)
{
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
startTime = startTime.AddSeconds(utc);
startTime = startTime.AddHours(8);//转化为北京时间(北京时间=UTC时间+8小时 )
return startTime;
}

调用方法
DateTime utcNow = DateTime.Now.ToUniversalTime();
double utc= ConvertDateTimeInt(utcNow);
DateTime dtime = ConvertIntDatetime(utc);