『片段』C# DateTime 时间相减 和 时区的关系

时间:2022-06-17 19:34:07

本文只是基础代码片段,直接先写 结论: C# DateTime 时间相减 —— 和 时区无关,只和时间值有关。

运行结果:

『片段』C# DateTime 时间相减 和 时区的关系

测试代码:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace Temp_20160623_时间时区
{
class Program
{
static void Main(string[] args)
{
DateTime timeNow = DateTime.Now; //当前本地时间 (北京时间+8)
DateTime timeUtcNow = DateTime.UtcNow; //世界协调时间 (格林威治+0)
DateTime timeUtcNow2 = new DateTime(
timeUtcNow.Year, timeUtcNow.Month, timeUtcNow.Day,
timeUtcNow.Hour, timeUtcNow.Minute, timeUtcNow.Second, timeUtcNow.Millisecond,
DateTimeKind.Local); //世界协调时间 (北京时间+0) —— 和 UTC时间 值一样 的 北京时间 Console.WriteLine("北京时间+8 :" + timeNow);
Console.WriteLine("格林威治+0 :" + timeUtcNow);
Console.WriteLine("北京时间+8 :" + timeUtcNow2); //timeNow 和 timeUtcNow 相差 8个时区
//问: 这两个时间相减 等于多少? TimeSpan timeSpan = timeNow - timeUtcNow;
Console.WriteLine("({0} +8) - ({1} +0) = {2}", timeNow, timeUtcNow, timeSpan.TotalHours.ToString("F6")); TimeSpan timeSpan2 = timeNow - timeUtcNow2;
Console.WriteLine("({0} +8) - ({1} +8) = {2}", timeNow, timeUtcNow2, timeSpan2.TotalHours.ToString("F6")); }
}
}

于是 就有了 这样的问题 (如下问题 仅作思考):
> 最开始, 项目是 国内项目 —— 从不考虑时区, 统一用的 +8时间, 存入数据库的 也是 +8时间.
> 之后, 项目开始 跨国家 —— 国外用户 也能使用.
问:
> 如何才能 对现有改动最小 的前提下 —— 完善项目 对国际时间的支持呢 ?

(本文 不是重量级 技术 —— 底层小细节而已,耽误大家时间的话,在此表示歉意。)

『片段』C# DateTime 时间相减 和 时区的关系的更多相关文章

  1. C#-和时间有关的计算代码、时间相减 得到天数、小时、分钟、秒差

    asp.net(C#)时间相减 得到天数.小时.分钟.秒差   asp.net(C#)时间相减 得到天数.小时.分钟.秒差   DateTime dtone = Convert.ToDateTime( ...

  2. asp.net(C#)时间相减 得到天数、小时、分钟、秒差

    asp.net(C#)时间相减 得到天数.小时.分钟.秒差 DateTime dtone = Convert.ToDateTime("2007-1-1 05:00:00"); Da ...

  3. C#两个时间相减

    原文地址:http://www.jb51.net/article/60177.htm using System; using System.Collections.Generic; using Sys ...

  4. C#实现两个时间相减的方法

    脚本之家看到的,关于两个时间差值的获取 http://www.jb51.net/article/60177.htm using System; using System.Collections.Gen ...

  5. 『片段』OracleHelper (支持 多条SQL语句)

    C# 调用 Oracle 是如此尴尬 >System.Data.OracleClient.dll —— .Net 自带的 已经 过时作废. >要链接 Oracle 服务器,必须在 本机安装 ...

  6. Oracle 时间相减得出毫秒、秒、分、时、天,,【转】

    http://blog.csdn.net/redarmy_chen/article/details/7351410 oracle 两个时间相减默认的是天数 oracle 两个时间相减默认的是天数*24 ...

  7. oracle 两个时间相减

    oracle 两个时间相减默认的是天数 oracle 两个时间相减默认的是天数*24 为相差的小时数 oracle 两个时间相减默认的是天数*24*60 为相差的分钟数 oracle 两个时间相减默认 ...

  8. mysql时间相减的问题

    MySQL中时间不能直接相减,如果日.分.时不同,相减结果是错误的 mysql> select t1,t2,t2-t1 from mytest;   +--------------------- ...

  9. 【转】实现Sqlite datediff日期时间相减的方法

    对sqlite既恨又爱,在小项目里,用sqlite开发起来非常方便,效率足够用.美中不足的是sqlite精简了些功能及相关函数.如存储过程,datediff,不支持并发写入及远程访问(或许有些高手说这 ...

随机推荐

  1. md5算法

    md5算法 不可逆的:原文-->密文.用系统的API可以实现: 123456 ---密文 1987 ----密文: 算法步骤: 1.用每个byte去和11111111做与运算并且得到的是int类 ...

  2. webdriver中PDF控件无法显示的问题(IE兼容性)

    公司的的系统只能运行在32位的IE上,开始从http://selenium-release.storage.googleapis.com/index.html?path=2.48/ 这个路径下去下载了 ...

  3. Android实现拖动进度条改变图片透明度

    layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...

  4. python使用xlrd模块读写Excel文件的方法

    本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...

  5. MongoVUE查询备忘

    用了一段时间的MongoVUE,把一些在MongoVUE中常用的查询记录一下,以便查阅.1.and查询    查询date等于2016-01-08,并且page_url等于shouye.html   ...

  6. Web学习

    http://book.2cto.com/201309/31936.html http://alvinalexander.com/ 查看锁表进程SQL语句1: select sess.sid,     ...

  7. UVA1366-----Martian Mining------DP

    本文出自:http://blog.csdn.net/dr5459 题目地址: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&a ...

  8. javascript学习笔记--迭代函数

    概要 这里的迭代函数指的是对数组对象的操作方法,js数组共有五个迭代函数:every.fifter.forEach.map.some. 1.every every方法,返回值为Boolean类型,tr ...

  9. KMP算法(具体求串的next&lbrack;n&rsqb;)

     怎么求串的模式值next[n]   )next[0]= -1  意义:不论什么串的第一个字符的模式值规定为-1. )next[j]= -1   意义:模式串T中下标为j的字符,假设与首字符 同样,且 ...

  10. hdu&lowbar;5705&lowbar;Clock&lpar;&quot&semi;巴卡斯杯&quot&semi; 中国大学生程序设计竞赛 - 女生专场&rpar;

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5705 题意:给你一个时间和一个角度,问你下一个时针和分针形成给出的角度是什么时候 题解:我们可以将这个 ...