CalDav Propfind 响应中的日期格式 - 如何更改它?
Date format in CalDav Propfind response - How to change it?
我正在尝试为 iCloud 设置 CalDav 客户端。我正在使用以下 PROPFIND http curl:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<d:propfind xmlns:d="DAV:" xmlns:cs="http://calendarserver.org/ns/">
<d:prop>
<d:displayname/>
<cs:getctag/>
<d:resource-class/>
<d:getlastmodified/>
</d:prop>
</d:propfind>
响应是这样的:
<getlastmodified>Mon, 22 Jan 2018 20:03:49 GMT</getlastmodified>
<creationdate>2013-04-02T20:12:23Z</creationdate>
<auto-provisioned xmlns="urn:mobileme:server-to-server"/>
我知道想知道我是否可以得到不同格式的标签格式?最好是 2013-04-02T20:12:23Z.
非常感谢!
我假设“标签”是指 getlastmodified
属性,return 就是这个
日期:
Mon, 22 Jan 2018 20:03:49 GMT
并且您在询问是否可以让服务器 return 在
不同的格式。
不,你不能,getlastmodified
的格式
WebDAV 属性 被标准化为
rfc1123-date
在里面
WebDAV RFC (4918).
重要提示:getlastmodified
不是标签!如果你需要一个标签来做
同步,使用
ETag。
Building a CalDAV client
文档解释得很好。
您可以做的是在 shell 中解析并重新格式化您的 curl
输出。
你可以使用 xmlstarlet
或其他工具来执行此操作:
lastmod=$(curl ... | xmlstarlet sel -N x="DAV:" -t -v "//x:getlastmodified")
date -jf \
"%a, %d %b %Y %H:%M:%S GMT" \
+"%Y-%M-%dT%H:%M:%SZ" \
"${lastmod}"
...根据您的需要进行调整。
我正在尝试为 iCloud 设置 CalDav 客户端。我正在使用以下 PROPFIND http curl:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<d:propfind xmlns:d="DAV:" xmlns:cs="http://calendarserver.org/ns/">
<d:prop>
<d:displayname/>
<cs:getctag/>
<d:resource-class/>
<d:getlastmodified/>
</d:prop>
</d:propfind>
响应是这样的:
<getlastmodified>Mon, 22 Jan 2018 20:03:49 GMT</getlastmodified>
<creationdate>2013-04-02T20:12:23Z</creationdate>
<auto-provisioned xmlns="urn:mobileme:server-to-server"/>
我知道想知道我是否可以得到不同格式的标签格式?最好是 2013-04-02T20:12:23Z.
非常感谢!
我假设“标签”是指 getlastmodified
属性,return 就是这个
日期:
Mon, 22 Jan 2018 20:03:49 GMT
并且您在询问是否可以让服务器 return 在
不同的格式。
不,你不能,getlastmodified
的格式
WebDAV 属性 被标准化为
rfc1123-date
在里面
WebDAV RFC (4918).
重要提示:getlastmodified
不是标签!如果你需要一个标签来做
同步,使用
ETag。
Building a CalDAV client
文档解释得很好。
您可以做的是在 shell 中解析并重新格式化您的 curl
输出。
你可以使用 xmlstarlet
或其他工具来执行此操作:
lastmod=$(curl ... | xmlstarlet sel -N x="DAV:" -t -v "//x:getlastmodified")
date -jf \
"%a, %d %b %Y %H:%M:%S GMT" \
+"%Y-%M-%dT%H:%M:%SZ" \
"${lastmod}"
...根据您的需要进行调整。