美文网首页
.Net Core DateTime在Linux中与Window

.Net Core DateTime在Linux中与Window

作者: Rinaloving | 来源:发表于2022-09-21 16:17 被阅读0次
    1. 背景
    • 项目在windows中请求接口正常,换到linux服务器上就提示错误,跟断点看了下原来是token验证被挡住了,两者时间相差8小时。怀疑是linux时间有问题,使用date查看服务器时间显示:


      时间.png
    • 确实是本地时间。
      当然还有linux服务器本身时间不是CST,而是UTC格式的,

    2. 方法
    public class TimeUtil
        {
            public static DateTime GetCstDateTime()
            {
                Instant now = SystemClock.Instance.GetCurrentInstant();
                var shanghaiZone = DateTimeZoneProviders.Tzdb["Asia/Shanghai"];
                return now.InZone(shanghaiZone).ToDateTimeUnspecified();
            }
    
        }
        public static class DateTimeExtentions
        {
            public static DateTime ToCstTime(this DateTime time)
            {
                return TimeUtil.GetCstDateTime();
            }
        }
    
    3. 使用
    DateTime.Now.ToCstTime();
    
    

    相关文章

      网友评论

          本文标题:.Net Core DateTime在Linux中与Window

          本文链接:https://www.haomeiwen.com/subject/xlgwortx.html