标签: utc

如何将DateTime格式化为Web UTC格式?

我有一个DateTime,我想格式化为" 2009-09-01T00:00:00.000Z",但下面的代码给我" 2009-09-01T00:00:00.000+01:00"(两行):

new DateTime(2009, 9, 1, 0, 0, 0, 0, DateTimeKind.Utc).ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffzzz")
new DateTime(2009, 9, 1, 0, 0, 0, 0, DateTimeKind.Utc).ToUniversalTime().ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffzzz")
Run Code Online (Sandbox Code Playgroud)

任何想法如何使其工作?

.net c# datetime utc

79
推荐指数
7
解决办法
17万
查看次数

Objective-C将NSDate设置为当前UTC

是否有一种简单的方法来NSDate使用当前的UTC日期/时间进行初始化?

iphone utc objective-c nsdate ios

79
推荐指数
2
解决办法
6万
查看次数

MYSQL查询/日期早于1周前(UTC中的所有日期时间)

如何查询mysql数据库以返回日期时间早于1周前的所有记录.请注意,datetime表以UTC格式存储所有内容,我应该在其中进行比较...

Jusst要清楚 - 我正在寻找一个纯粹的mysql查询

mysql datetime utc

76
推荐指数
3
解决办法
8万
查看次数

使用datetime获取python中的UTC时间戳

有没有办法通过指定日期来获取UTC时间戳?我期待的是:

datetime(2008, 1, 1, 0, 0, 0, 0)
Run Code Online (Sandbox Code Playgroud)

应该导致

 1199145600
Run Code Online (Sandbox Code Playgroud)

创建天真的日期时间对象意味着没有时区信息.如果我查看datetime.utcfromtimestamp的文档,则创建UTC时间戳意味着省略时区信息.所以我猜,创建一个天真的日期时间对象(就像我做的那样)会产生一个UTC时间戳.然而:

then = datetime(2008, 1, 1, 0, 0, 0, 0)
datetime.utcfromtimestamp(float(then.strftime('%s')))
Run Code Online (Sandbox Code Playgroud)

结果是

2007-12-31 23:00:00
Run Code Online (Sandbox Code Playgroud)

datetime对象中是否还有隐藏的时区信息?我究竟做错了什么?

python datetime timestamp utc

73
推荐指数
6
解决办法
13万
查看次数

TSQL:如何将本地时间转换为UTC?(SQL Server 2008)

我们正在处理需要处理来自不同时区和夏令时设置的全球时间数据的应用程序.我们的想法是在内部以UTC格式存储所有内容,只为本地化用户界面来回转换.SQL Server是否提供任何机制来处理给定时间,国家和时区的翻译?

这一定是一个常见的问题,所以我很惊讶谷歌不会发现任何可用的东西.

有什么指针吗?

t-sql sql-server timezone utc sql-server-2008

72
推荐指数
6
解决办法
20万
查看次数

Android获取当前UTC时间

获取当前UTC时间的功能是什么.我尝试过System.getCurrentTime,但我得到了设备的当前日期和时间.

谢谢

java time datetime android utc

68
推荐指数
2
解决办法
11万
查看次数

DateTime.ToUniversalTime()如何工作?

如何从标准DateTime格式转换为UTC ?

更具体地说,如果我DateTime在一个时区创建一个对象然后切换到另一个时区并ToUniversalTime()在其上运行,它如何知道转换是否正确完成并且时间仍然准确表示?

.net c# datetime utc

61
推荐指数
3
解决办法
5万
查看次数

DateTime.Parse("2012-09-30T23:00:00.0000000Z")始终转换为DateTimeKind.Local

我想解析一个表示UTC格式的DateTime的字符串.

我的字符串表示包括Zulu时间规范,该规范应指示字符串表示UTC时间.

var myDate = DateTime.Parse("2012-09-30T23:00:00.0000000Z");    
Run Code Online (Sandbox Code Playgroud)

从上面我希望myDate.Kind是DateTimeKind.Utc,而不是DatetimeKind.Local.

我做错了什么以及如何解析表示UTC时间的字符串?

非常感谢!

.net c# asp.net datetime utc

59
推荐指数
3
解决办法
4万
查看次数

以UTC格式存储时间总是一个好主意,还是在本地时间存储更好?

通常,最佳做法是以UTC格式存储时间,如此此处所述

假设有一个重新发生的事件让我们说结束时间总是在同一个本地时间,比如说17:00,无论该时区是否开启夏令时.并且当DST在特定时区打开或关闭时,还要求不要手动更改时间.还要求每当任何其他系统通过API(即GetEndTimeByEvent)询问结束时间时,它总是以UTC格式发送结束时间.

方法1: 如果决定以UTC格式存储,则可以将其存储在数据库表中,如下所示.

Event      UTCEndTime
=====================
ABC         07:00:00
MNO         06:00:00
PQR         04:00:00
Run Code Online (Sandbox Code Playgroud)

对于第一个事件ABC,UTC的结束时间是上午07:00,如果转换为从UTC到2012年7月1日当地时间显示,则将在当地时间17:00结束,如果在2012年10月10日转换( DST为时区的开启日期)然后将导致下午6点,这是不正确的结束时间.

我可以想到的一种可能的方法是将DST时间存储在附加列中,并在时区有DST ON时使用该时间.

方法2: 但是,如果它被存储为如下的本地时间,例如对于事件ABC,它将在任何日期始终为17:00,因为没有从UTC到本地时间的转换.

Event      LocalEndTime
=======================
ABC         17:00:00
MNO         16:00:00
PQR         14:00:00
Run Code Online (Sandbox Code Playgroud)

应用程序层将本地时间转换为UTC时间,以通过(API GetEndTimeByEvent)发送到其他系统.

在这种情况下,以UTC格式存储时间仍然是个好主意吗?如果是,那么如何获得恒定的当地时间?

相关问题:是否有充分的理由将时间存储在UTC中?

time timezone date utc dst

59
推荐指数
4
解决办法
5万
查看次数

DateTime'Z'格式说明符在哪里?

[ 更新:格式说明符与格式字符串不同; 格式说明符是自定义格式字符串的一部分,其中格式字符串为"stock",不提供自定义.我的问题是说明符不是格式 ]

我一直在尝试使用格式字符串执行往返DateTime转换,格式字符串使用'zzz'格式说明符,我知道绑定到本地时间.因此,如果我尝试使用UTC日期时间进行往返,则会抛出DateTimeInvalidLocalFormat异常,它应该使用以下文本:

正在将UTC日期时间转换为仅适用于本地时间的格式的文本.使用'z'格式说明符调用DateTime.ToString时会发生这种情况,该说明符将在输出中包含本地时区偏移量.在这种情况下,要么使用指定UTC时间的'Z'格式说明符,要么使用'o'格式字符串,这是在文本中保留DateTime的推荐方法.传递由XmlConvert或DataSet序列化的DateTime时也会发生这种情况.如果使用XmlConvert.ToString,则传入XmlDateTimeSerializationMode.RoundtripKind以正确序列化.如果使用DataSet,请将DataColumn对象上的DateTimeMode设置为DataSetDateTime.Utc.

根据这个建议,我需要做的就是让我的代码工作就是用'ZZZ'代替'zzz',这样我就可以采用UTC格式了.问题是,文档中没有找到'Z',我尝试的任何'Z'格式组合,即'Z','ZZ','ZZZ',总是只转换DateTime实例,那些Z被视为文字.

有人忘记在没有告诉异常消息作者的情况下实现'Z',或者我错过了如何在没有黑客攻击的情况下用"+0000"替换有效的本地时间偏移量?

代码示例:

// This is the format with 'zzzzz' representing local time offset
const string format = "ddd MMM dd HH:mm:ss zzzzz yyyy";

// create a UTC time
const string expected = "Fri Dec 19 17:24:18 +0000 2008";
var time = new DateTime(2008, 12, 19, 17, 24, 18, 0, DateTimeKind.Utc);

// If you're using a debugger this will rightfully throw an exception
// with .NET 3.5 SP1 because 'z' …
Run Code Online (Sandbox Code Playgroud)

c# format datetime utc

57
推荐指数
5
解决办法
14万
查看次数