RFC3339如何使一个日期时间从
我正在尝试格式化一个从Google Plus API传递的日期,就像指南在RFC 3339格式中所说的那样: 发布 - > datetime->最初发布此活动的时间.格式为RFC 3339时间戳. So y php文档我发现: date_rfc3339 与date_atom相同(自PHP 5.1.3) 两种格式都类似: " y-m-d \ th:i:sp" 实际上Google API的输出类似于: 2014-01-22T10:36:00.222Z 当我尝试启动命令时: $date = DateTime::createFromFormat("Y-m-d\TH:i:sP", $activity['published']); //$activity['published'] contain the date 我总是FALSE作为返回. 我认为问题是最后一部分 .222Z 在通过某种不可思议的方法切割之前,任何建议都会得到理
2 2023-05-28
编程技术问答社区
在iOS 4.x和MacOS X 10.6中用NSDateFormatter解析rfc3339日期:不可能?
在一般情况下,用NSDateFormatter解析RFC3339日期似乎是不可能的.我错了吗? [2年后编辑:现在有一种方法!请参阅下面和脚注.] 尤其是可容纳的Web服务正在为我提供以下日期: 2009-12-31T00:00:00-06:00 RFC3339符合条件,正在使用的JAXB库的默认输出.请注意,当偏移不是字面的" Z": 时,rfc3339 需要 time-numoffset = ("+" / "-") time-hour ":" time-minute time-offset = "Z" / time-numoffset 我想将它们解析为nsdates. NSDateFormatter wants patterns in the syntax specified by Unicode, which offers诸如" pdt"," -0800"," GMT-08:00"的时区的日期字段符号,但不是" -08:00". 谷
0 2023-04-28
编程技术问答社区
我怎样才能在Swift中解析/创建一个带有小数秒UTC时区(ISO 8601,RFC 3339)格式的日期时间戳?
如何使用 iso 8601 和 rfc 3339 ? 目标是一个看起来像这样的字符串: "2015-01-01T00:00:00.000Z" 格式: 年,月,日,为" xxxx-xx-xx" 字母" t"作为分隔师 小时,分钟,秒,毫秒,为" xx:xx:xx.xxx". 字母" z"作为零偏移的区域指定器,又称UTC,GMT,Zulu Time. 最佳案例: Swift Source代码简单,短而直接. 无需使用任何其他框架,子标记,Cocoapod,C代码等. 我已经搜索了Stackoverflow,Google,Apple等. 看起来最有前途的课程是 NSDate ,, NSTimeZone . 相关问案:我如何获得ISO 8601日期在iOS上? 这是我到目前为止提出的最好的: var now = NSDate() var formatter = NSDateFormatter() formatter.dateF
16 2023-04-13
编程技术问答社区
在iOS中解析RFC3339日期字符串的最简单方法是什么?
YouTube API返回RFC3339格式的日期字符串.我找到了如何在手动上解析它,无论如何,这太长了. - (NSString *)userVisibleDateTimeStringForRFC3339DateTimeString:(NSString *)rfc3339DateTimeString // Returns a user-visible date time string that corresponds to the // specified RFC 3339 date time string. Note that this does not handle // all possible RFC 3339 date time strings, just one of the most common // styles. { NSString * userVisibleDateTimeString; N
8 2023-03-16
编程技术问答社区
解除不正确格式化的数据时间
背景 我正在学习GO,我正在尝试做一些DateTime的JSON. 我有一些我在C中写的程序制作的JSON,我正在输出我认为有效的 ISO8601 / strftime : %Y-%m-%dT%H:%M:%S.%f%z (请注意,%f不支持这将产生以下结果: 2016-08-08T21:35:14.052975+0200 在Go中解除此内容是行不通的: https://play.golang.org.org/p/vzoxbzaxbzawdw package main import ( "fmt" "time" ) func main() { t, err := time.Parse(time.RFC3339Nano, "2016-08-08T21:35:14.052975+0200") if err != nil { panic(err) } fmt.Println(t) } 输出:
6 2023-02-17
编程技术问答社区
我想在C语言中建立一个RFC3339的时间戳,我如何获得时区偏移?
我正在尝试整理一个RFC3339时间戳,该时间戳将用于编写数据库的某个条目.这将被格式化为例如2004-10-19 10:23:54 +02,其中+02是与GMT小时的偏移.正是这种偏移证明了麻烦 - 我似乎无法在c. 中得出这个值 这是我正在使用的代码.当我尝试构建时,它说TM结构没有名为TM_GMTOFF的成员: #include #include int main(void) { time_t now = time(NULL); struct tm *tm; int off_sign; int off; if ((tm = localtime(&now)) == NULL) { return -1; } off_sign = '+'; off = (int) tm->tm_gmtoff; if (tm->tm_gmtoff
64 2023-02-04
编程技术问答社区
生成类似于Google Tasks API的RFC 3339时间戳?
我正在构建与Google任务同步的应用程序.作为同步的一部分,我想比较本地任务和API任务,并查看最近更改了哪个任务. Google API的每个任务都包含一个updated属性,看起来像这样: 2011-08-30T13:22:53.108Z 现在,我想生成类似于该时间戳的时间戳,以便每次我在应用程序上更新任务时都会设置一个新的updated值.要生成RFC 3339 Timestamp,我正在使用 - 生成类似的东西: 2011-08-30T09:30:16.768-04:00 问题是,即使本地日期更新,API日期始终返回"大于本地日期".我猜这与两者之间的不同格式有关. 这是两个日期,顶部来自Google Tasks API(大约10分钟前),底部是在一分钟前本地生成的.当比较更大时,它告诉我最高的是. 2011-08-30T13:22:53.108Z 2011-08-30T09:41:00.735-04:00 我的格式是错误的吗?我在这里
14 2023-01-12
编程技术问答社区
在java中应该用什么模式来解析RFC 3339的日期时间字符串?
这似乎是一个常见的问题,有许多不同的答案.在您回答之前,我已经使用了 joda time 和 atomdate ,它们都很好.我的兴趣不是要使用的库,而是对Java中应定义RFC模式的澄清. 研究 根据我的理解和这个答案 RFC 3339是ISO 8601的配置文件.//php.net/manual/en/class.datetime.php#datetime.constants.rfc3339" rel =" nofollow noreferrer">明确定义了 rfc 3339 dateTime模式为Y-m-d\TH:i:sP.如果我们要将此定义转移到Java 7(据我所知),我们将最终得到此(也可以在// example "2005-08-15T15:52:01+00:00" pattern = "yyyy-MM-dd'T'HH:mm:ssXXX"; 但是,几个堆栈溢出答案,例如 这是正确的模式之一对于RFC 3339 // example "2016-11
10 2022-12-22
编程技术问答社区
在Java中输出RFC 3339时间戳
我想输出带有PST偏移的时间戳(例如,2008-11-13T13:23:30-08:00). java.util.SimpleDateFormat似乎没有在小时输出时区偏移:Minute 格式,它排除了结肠.是否有一种简单的方法可以在Java中获得该时间戳? // I want 2008-11-13T12:23:30-08:00 String timestamp = new SimpleDateFormat("yyyy-MM-dd'T'h:m:ssZ").format(new Date()); System.out.println(timestamp); // prints "2008-11-13T12:23:30-0800" See the difference? 另外,SimpleDateFormat无法正确解析上述示例.它抛出ParseException. // Throws a ParseException new SimpleDateFormat("yyyy-
24 2022-12-19
编程技术问答社区
如何用Java解析RFC 3339的数据时间?
我试图解析返回的日期作为从HTML5 datetime输入字段返回的日期.在歌剧中尝试一下以查看一个示例.返回的日期如下:2011-05-03T11:58:01Z. 我想将其解析到Java日期或日历对象中. 理想情况下,解决方案应该具有以下内容: 没有外部库(罐) 处理所有可接受的RFC 3339格式 应该可以轻松地验证字符串,以查看是否是有效的RFC 3339日期 解决方案 刚刚发现Google在Google HTTP客户库中实现了RFC3339解析器 https://github.com/google/google-http-java-client/blob/blob/dev/google-http-client/src/src/src/main/main/java/java/java/java/java/java/java/java/java/java/java/java/google/api/client/util/dateTime.java
16 2022-11-04
编程技术问答社区
Zend Google Calendar API-如何改变日期时间格式?
我正在为Google日历API和RFC3339中的DateTime输出使用Zend Framework GDATA(看起来像:2012-01-19T22:00:00.000-08:00).我需要添加哪个PHP代码才能将其转换为UTC,以使其看起来像这样:2012年1月19日晚上11点下午11点?我找到了将RFC日期转换为字符串的PHP代码,但是我对PHP的了解不足以更改代码以使用Zend GDATA公式...如您在下面的代码中所看到的,即"日期" "被称为"何时" ...因此,任何代码都必须以某种方式连接这两个...任何帮助都将受到赞赏!
10 2022-10-17
编程技术问答社区
如何解析和转换DateTime为RFC 3339日期时间格式?
如何将日期时间结构转换为等效 rfc 3339 /或解析此字符串表示形式回到 dateTime 结构吗? RFC-3339日期时间格式用于许多规格,例如 Atom联合格式. 解决方案 这是如何解析和从其RFC-3339表示的C#中的实现.它唯一的限制是DateTime处于协调的通用时间(UTC). using System; using System.Globalization; namespace DateTimeConsoleApplication { /// /// Provides methods for converting structures to and from the equivalent RFC 3339 string representation. /// public static class Rfc3339DateTime
54 2022-09-09
编程技术问答社区
将UTC时间转换为Python日期时间
我有以下格式有许多UTC时间戳记: 2012-04-30T23:08:56+00:00 我想将它们转换为python datetime对象,但遇到了麻烦. 我的代码: for time in data: pythondata[i]=datetime.strptime(time,"%y-%m-%dT%H:%M:%S+00:00") 我收到以下错误: ValueError: time data '2012-03-01T00:05:55+00:00' does not match format '%y-%m-%dT%H:%M:%S+00:00' 看起来我有适当的格式,所以为什么不起作用? 解决方案 以您的时间格式字符串更改年度标记为%Y: time = '2012-03-01T00:05:55+00:00' datetime.strptime(time, "%Y-%m-%dT%H:%M:%S+00:00") # => datetime.datet
14 2022-08-16
编程技术问答社区
如何将Python的.isoformat()字符串转换为日期时间对象
因此,在Python 3中,您可以使用.isoformat()生成ISO 8601日期,但是您不能将Isoformat()创建的字符串转换为DateTime对象,因为Python自己的DateTime指令无法正常匹配.也就是说,%z = 0500而不是05:00(由.isoformat()产生). 例如: >>> strDate = d.isoformat() >>> strDate '2015-02-04T20:55:08.914461+00:00' >>> objDate = datetime.strptime(strDate,"%Y-%m-%dT%H:%M:%S.%f%z") Traceback (most recent call last): File "", line 1, in File "C:\Python34\Lib\_strptime.py", line 500, in _strptime_datetime
12 2022-08-16
编程技术问答社区
将RFC3339时间转换为标准的Python时间戳
是否有一种简单的方法可以将 rfc 3339 ? 我有一个正在阅读原子供稿的脚本,我希望能够将原子供稿中项目的时间戳与文件的修改时间进行比较. 我从 atom spec ,该原子日期包括时区偏移(Z),但就我而言,Z之后什么都没有,所以我想我们可以假设GMT. 我想我可以用某种正则分析时间,但我希望Python有一种内在的方法,我只是找不到. 解决方案 否内置,afaik. feed.date.RFC339 这是一个Python库模块,具有用于将RFC 3339格式转换为Python Time Float值的函数,反之亦然. RFC 3339是原子饲料联合格式使用的时间戳格式. 它是BSD许可的. > (已编辑,很明显我没有写它.: - ) 其他解决方案 您不包括一个示例,但是如果您没有z偏移或时区,并且假设您不想要持续时间,而只是基本时间,那么也许这适合您: import datetime as dt
12 2022-08-16
编程技术问答社区
时间戳中的T和Z到底是什么意思?
我有一个由Web服务返回的时间戳值"2014-09-12T19:34:29Z" 我知道这意味着时区,但这到底是什么意思? 我正在尝试模拟此Web服务,因此是否可以在Python中使用strftime生成此时间戳? 对不起,如果这很明显,但是Google并不是很有帮助,strftime()参考页也不是. 我目前正在使用以下方式: x.strftime("%Y-%m-%dT%H:%M:%S%Z") '2015-03-26T10:58:51' 解决方案 T实际上并没有任何代表. iso 8601 ISO 8601组合日期格式要求.您可以将其视为 time 的缩写. Z代表零时区,因为它被0偏离协调的通用时间(UTC). 两个字符只是格式中的静态字母,这就是为什么datetime.strftime()方法未记录它们的原因.您可以使用Q或M或Monty Python,并且该方法也会不变.该方法仅寻找以%开头的模式,以替换datetime对象的信息.
30 2022-08-16
编程技术问答社区
在Python中生成RFC 3339时间戳
我正在尝试生成 rfc 3339 Python中的UTC TimeStamp.到目前为止,我已经能够做以下操作: >>> d = datetime.datetime.now() >>> print d.isoformat('T') 2011-12-18T20:46:00.392227 我的问题是设置UTC偏移. 根据 docs ,classMethod datetime.now([tz]),采用可选的参数其中tz must be an instance of a class tzinfo subclass,datetime.tzinfo是an abstract base class for time zone information objects. 这是我迷路的地方 - tzinfo如何是抽象类,我应该如何实施? (注意:在PHP中,就像timestamp = date(DATE_RFC3339);一样简单,这就是为什么我不明白为什么Python的方法如此复
16 2022-08-16
编程技术问答社区
ISO到数据时间对象:'z'是一个糟糕的指令
我试图使用以下代码将ISO转换为datetime: dt = datetime.datetime.strptime("2013-07-23T15:10:59.342107+01:00", "%Y-%m-%dT%H:%M:%S.%f%z") ,我在下面收到错误: 'z' is a bad directive in format '%Y-%m-%dT%H:%M:%S.%f%z' 将格式上方的ISO字符串转换为datetime对象的最佳方法是什么?我正在使用Python版本2.7.6. 解决方案 欢迎来到python datetime!处理日期和时代一定是复杂的,而Python并未完全配有这种情况中包含的电池.您不能在strptime中使用%z,因为python没有代表时区的类(您应该实现自己的时间,或者更好地包括其他库). 您想使用pytz和python-dateutil.有关更多详细信息,请参
12 2022-08-16
编程技术问答社区
在没有dateutil的情况下,如何在Python中把一个知道时区的字符串转换为日期时间?
我必须将像"2012-11-01T04:16:13-04:00"这样的时区感知字符串转换为python datetime对象. 我看到了具有解析功能的dateutil模块,但是我真的不想使用它,因为它会增加依赖关系. 那我该怎么做?我尝试了类似以下操作,但没有运气. datetime.datetime.strptime("2012-11-01T04:16:13-04:00", "%Y-%m-%dT%H:%M:%S%Z") 解决方案 从python 3.7,datetime.datetime.fromisoformat()可以处理您的格式: >>> import datetime >>> datetime.datetime.fromisoformat('2012-11-01T04:16:13-04:00') datetime.datetime(2012, 11, 1, 4, 16, 13, tzinfo=datetime.timezone(datetime.t
12 2022-08-16
编程技术问答社区
使用strptime将带偏移的时间戳转换为数据时间obj
我正在尝试转换格式的时间戳记" 2012-07-24T23:14:29-07:00" 使用Strptime方法在Python中进行DateTime对象.问题在于末尾的时间偏移(-07:00).没有偏移,我可以成功地做 time_str = "2012-07-24T23:14:29" time_obj=datetime.datetime.strptime(time_str,'%Y-%m-%dT%H:%M:%S') 但是有了偏移,我尝试了 time_str = "2012-07-24T23:14:29-07:00" time_obj=datetime.datetime.strptime(time_str,'%Y-%m-%dT%H:%M:%S-%z'). ,但它给出了一个价值错误,说" z"是一个不好的指示. 对工作的任何想法? 解决方案 Python 2 strptime()函数确实不支持时区的%z格式(因为基础 用strptime解析时忽略时区:
8 2022-08-16
编程技术问答社区