在.NET Core使用TimeZone将客户端时间转服务器本地时间但编译提示已过期
2017-11-24 09:50
253 查看
当我们的项目国际化后,需要处理时区问题。
在.NET Core之前我们可以通过以下代码将客户端时间转换为服务端时间:
在.NET Core里,TimeZone类已被标记为已过期,那么我们应该如何使用不过期的API进行时区转换呢?
以下是博主自己写的DateTimeExtensions类中的转换为服务端时间的扩展方法:
关于TimeZone与TimeZoneInfo类的区别/比较,请参考:
https://www.cnblogs.com/dongjh/archive/2012/08/30/2664676.html
在不同时区之间转换时间,请参考MSDN案例:
https://msdn.microsoft.com/zh-cn/library/bb397769.aspx
在.NET Core之前我们可以通过以下代码将客户端时间转换为服务端时间:
DateTime serverTime = TimeZone.CurrentTimeZone.ToLocalTime(clientTime);
在.NET Core里,TimeZone类已被标记为已过期,那么我们应该如何使用不过期的API进行时区转换呢?
DateTime serverTime = TimeZoneInfo.ConvertTime(clientTime, TimeZoneInfo.Local);
以下是博主自己写的DateTimeExtensions类中的转换为服务端时间的扩展方法:
public static class DateTimeExtensions { /// <summary> /// 将客户端时间转换为服务端本地时间 /// </summary> /// <param name="clientTime">客户端时间</param> /// <returns>返回服务端本地时间</returns> public static DateTime ToServerLocalTime(this DateTime clientTime) { //DateTime serverTime1 = TimeZone.CurrentTimeZone.ToLocalTime(clientTime); //在.NET Core标识已过期的类TimeZone的写法 DateTime serverTime2 = TimeZoneInfo.ConvertTime(clientTime, TimeZoneInfo.Local);//等价的建议写法 return serverTime2; } }
关于TimeZone与TimeZoneInfo类的区别/比较,请参考:
https://www.cnblogs.com/dongjh/archive/2012/08/30/2664676.html
在不同时区之间转换时间,请参考MSDN案例:
https://msdn.microsoft.com/zh-cn/library/bb397769.aspx
相关文章推荐
- SVN本地服务器,SVN客户端使用详解
- Bug-把客户端时间当做服务器时间来使用!
- cookies过期原因,服务器时间和客户端时间不一致
- SVN创建本地服务器和客户端使用
- VC6 使用分布式编译提示*.bsc过期或不存在的解决办法
- 服务器共享文件夹后,客户端出现“您可能没有权限使用网络资源”提示的解决办法
- 本地plsql登录进去,提示:服务器字符集和客户端字符集不一致。但是我注册表没有设置字符集、环境变量也没有配置NLS_LANGUAGE环境变量,plsql是怎么识别的客户端编码呢?
- 关于sql时间函数的一些简单的例子(本机本地时间,国外服务器不能使用)
- 使用tomcat 来搭建本地服务器 ,使用Android 客户端(真机)通过浏览器访问
- Android 使用本地服务器编译apk教程
- 【项目管理】使用SVN客户端搭建可以在局域网中访问的SVN本地库,类似局域网的SVN服务器
- Maven -- 使用插件打包时,提示java编译异常,但是本地服务可以正常运行
- Windows 2000/xp下使用时间服务器
- 将Java应用程序本地编译为EXE的几种方法(推荐使用JOVE和JET)
- ftp客户端源代码,使用VC+SOCKET编程,在SERV-U6.0服务器上测试通过,能断点续传
- 使用distcc和ccache缩短C/C++项目编译时间
- 从服务器获取时间并修改本地时间
- 关于DateTime在远程服务器使用以及日期与时间格式的问题
- 使用完成端口的单台服务器最多可连接2500个客户端