C# DateTime的时区
C#中可以通过DateTime的Kind属性指定DateTime的时区
DateTimeKind有3个枚举值:
Unspecified:未指定为UTC时间或本地时间
Utc: UTC时间
Local: 本地时间
var date1 = new DateTime(2018, 1, 2, 3, 4, 5);
Console.WriteLine("{0}\t{1:o}\t{2:o}", date1.Kind, date1, date1.ToUniversalTime());
var date2 = new DateTime(2018, 1, 2, 3, 4, 5, DateTimeKind.Local);
Console.WriteLine("{0}\t{1:o}\t{2:o}", date2.Kind, date2, date2.ToUniversalTime());
var date3 = new DateTime(2018, 1, 2, 3, 4, 5, DateTimeKind.Utc);
Console.WriteLine("{0}\t{1:o}\t{2:o}", date3.Kind, date3, date3.ToUniversalTime());
结果如图:

当Kind为Unspecified时,服务器按照当地时区进行解析,传递个给其他服务器时,其他服务器按各自所在的时区进行解析。所以,DateTime在多个服务器之前传递时,应指定为Local或Utc
下面是东八区的服务器解析东六区时间,解析正常
var date4 = DateTime.Parse("2018-01-02T03:04:05+06:00");
Console.WriteLine("{0}\t{1:o}\t{2:o}", date4.Kind, date4, date4.ToUniversalTime());

Javascript中,new Date(dateString)中的dateString参数支持ISO 8601格式的字符串,如图

*2018-01-02T03:04:05将被解析为客户端所在时区,所以服务端返回给客户端的时间应指定时区,以便客户端将时间转为正确的当地时间
客户端向服务端传递时间时,可通过Date.toISOString()转为ISO格式的字符串

C# DateTime的时区的更多相关文章
- JavaScript 解析 Django Python 生成的 datetime 数据 时区问题解决
JavaScript 解析 Django/Python 生成的 datetime 数据 当Web后台使用Django时,后台生成的时间数据类型就是Python类型的. 项目需要将几个时间存储到数据库中 ...
- .Net DateTime跨时区相关问题
项目:.Net CS结构,WCF通信,MySql存储. 场景:客户端(UTC+07:00)获取本地时间(DateTime对象)2017-01-17 15:20:12,通过WCF(http)传输至服务端 ...
- MySQL中TIMESTAMP和DATETIME区别
1.两者的存储方式不一样 TIMESTAMP:把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储.查询时,将其又转化为客户端当前时区进行返回. DATETIME:不做任何改变,基本上是原 ...
- Python之日期与时间处理模块(date和datetime)
本节内容 前言 相关术语的解释 时间的表现形式 time模块 datetime模块 时间格式码 总结 前言 在开发工作中,我们经常需要用到日期与时间,如: 作为日志信息的内容输出 计算某个功能的执行时 ...
- time和datetime和tzinfo
time和datetime模块还有tzinfo (时区)(一直不明白两者的区别,然后摘了两片文章(最后面的两个链接),很清晰...) 一.time模块 常用函数 1. time()函数 time()函 ...
- 【转】Python之日期与时间处理模块(date和datetime)
[转]Python之日期与时间处理模块(date和datetime) 本节内容 前言 相关术语的解释 时间的表现形式 time模块 datetime模块 时间格式码 总结 前言 在开发工作中,我们经常 ...
- ObjectId与DateTime的互相转换
s会用mongdb中经常会需要用到通过“_id”去检查数据,筛选数据,但是想根据具体时间的id每次都需要做一下转换,这样搜索起来就很简单了. ObjectId转DateTime /// <sum ...
- python模块分析之time和datetime模块
前言 我们使用time和datetime模块的主要目的是对时间戳.时间字符串.时间元组等时间的表述对象进行相互的转化.而我们平时编码涉及两个时间:一个是上海时间,也可以说是北京时间,一个是UTC时间, ...
- Python标准库笔记(3) — datetime模块
datetime模块提供了简单和复杂的方式用于操纵日期和时间的类.虽然支持日期和时间运算,但实现的重点是为了输出格式化和操作高效地提取属性. 1. 模块内容 内容 描述 常量 datetime.M ...
随机推荐
- java多线程有几种实现方法,都是什么?
转自:http://www.cnblogs.com/liujichang/p/3150387.html 多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 同步的实现方法有两种, ...
- Servlet的一些细节
由于客户端是通过URL地址访问web服务器的中的资源的,所以Servlet程序若想被外界访问,必须把servlet程序映射到一个URL地址上,这个工作在web.xml文件中使用<servlet& ...
- 关于export环境变量生存期
今天对export方式设置的环境变量的生存期有很大疑惑. 按变量的生存周期来划分,Linux变量可分为两类,它们的修改方法如下:(1)永久的:需要修改配置文件,变量永久生效. 常见的配置文件包括 ...
- UITableViewCell 的复用机制
cell重用机制 http://blog.cnrainbird.com/index.php/2012/03/20/guan_yu_uitableview_de_cell_fu_yong_tan_tan ...
- 【TMF eTOM】业务流程框架介绍
TMF文档版权信息 Copyright © TeleManagement Forum 2013. All Rights Reserved. This document and translations ...
- luoguP4931 情侣?给我烧了!(加强版)
luogu 普通版题解:https://www.cnblogs.com/lcxer/p/10876856.html 在普通版里,我们考虑对于\(n\)对情侣,恰好\(k\)对是和谐的方案数是 \[ a ...
- PAT甲级——1096 Consecutive Factors (数学题)
本文同步发布在CSDN:https://blog.csdn.net/weixin_44385565/article/details/91349859 1096 Consecutive Factors ...
- Jmeter 线程组、运行次数参数化(转)Jpara1=4 -Jpara2=5
Jmeter的jmx文件保存了线程数和运行次数等参数,这个参数可以在命令行中传入参数的方式来修改数值 步骤如下 1.生成线程和运行次数的参数 Jmeter选项中函数助手对话框,选中__P参数,这个参数 ...
- $each 遍历json字符串
$.each遍历json对象 查看一个简单的jQuery的例子来遍历一个JavaScript数组对象. var json = [ {"id":"1",&qu ...
- 默认约束 default
default :初始值设置,插入记录时,如果没有明确为字段赋值,则自动赋予默认值. 例子:create table tb6( id int primary key auto_increment ...