火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 245|回复: 3
打印 上一主题 下一主题

[视窗] 取UTC时间,如何变成文本?

[复制链接]

55

主题

255

帖子

1507

积分

金牌会员

嘿嘿哈哈

Rank: 6Rank: 6

积分
1507
跳转到指定楼层
楼主
发表于 2024-5-11 13:17:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
HTTP响应头中的Date字段的值必须遵循RFC 1123中规定的日期时间格式,如Day Mon DD HH:MM:SS YYYY\r\n。它不能是一串简单的数字。这个字段用于表示消息发送的日期和时间,因此它必须是一个人类可读的日期时间字符串。
如果尝试将Date字段设置为一个数字,这将被视为一个无效的日期时间格式,可能会导致接收端在处理HTTP响应时出错或忽略该字段。
长整数的UTC时间怎么取出年月日、时分秒、星期?

屏幕截图 2024-05-11 130304.png (9.43 KB, 下载次数: 0)

屏幕截图 2024-05-11 130304.png
回复

使用道具 举报

55

主题

255

帖子

1507

积分

金牌会员

嘿嘿哈哈

Rank: 6Rank: 6

积分
1507
沙发
 楼主| 发表于 2024-5-11 13:39:42 | 只看该作者
有办法了,我们的时间减去8小时就是UTC时间了,然后通过时间操作类取出年月日等等。
回复

使用道具 举报

26

主题

1521

帖子

5707

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
5707
板凳
发表于 2024-5-11 14:04:17 | 只看该作者
<火山程序 类型 = "通常" 版本 = 1 />

方法 取RFC1123时间 <公开 类型 = 文本型 @禁止流程检查 = 真>
{
    @ time_t rawtime;
    @ struct tm timeinfo;
    @ ::time(&rawtime);
    @ ::gmtime_s(&timeinfo, &rawtime);
    @ WCHAR szTime[256] { 0 };
    @ ::wcsftime(szTime, sizeof(szTime), L"%a, %d %b %Y %T GMT", &timeinfo);
    @ return @an<CVolString>(szTime);
}
回复

使用道具 举报

55

主题

255

帖子

1507

积分

金牌会员

嘿嘿哈哈

Rank: 6Rank: 6

积分
1507
地板
 楼主| 发表于 2024-5-11 14:48:54 | 只看该作者
<火山程序 类型 = "通常" 版本 = 1 />

方法 方法_生成当前UTC时间文本 <公开 静态 类型 = 文本型 注释 = "根据现行时间,生成UTC文本格式时间" 返回值注释 = "" 返回值注释 = "" 返回值注释 = "" 折叠>
{
    变量 局部_现行UTC时间 <类型 = 小数>
    局部_现行UTC时间 = 时间戳到时间 (取时间戳 (取现行时间 ()) - 60 * 60 * 8)
    变量 局部_返回数据 <类型 = 文本型>
    // 星期
    加入文本 (局部_返回数据, 多项选择 (取星期几 (局部_现行UTC时间) - 1, "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat") + ", ")
    // 日
    加入文本 (局部_返回数据, 到文本 (取日 (局部_现行UTC时间)) + " ")
    // 月
    加入文本 (局部_返回数据, 多项选择 (取月份 (局部_现行UTC时间) - 1, "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec") + " ")
    // 年
    加入文本 (局部_返回数据, 到文本 (取年份 (局部_现行UTC时间)) + " ")
    // 时
    变量 局部_小时 <类型 = 文本型>
    局部_小时 = 选择 (取文本长度 (到文本 (取小时 (局部_现行UTC时间))) == 1, "0" + 到文本 (取小时 (局部_现行UTC时间)), 到文本 (取小时 (局部_现行UTC时间)))
    // 分
    变量 局部_分钟 <类型 = 文本型>
    局部_分钟 = 选择 (取文本长度 (到文本 (取分钟 (局部_现行UTC时间))) == 1, "0" + 到文本 (取分钟 (局部_现行UTC时间)), 到文本 (取分钟 (局部_现行UTC时间)))
    // 秒
    变量 局部_秒 <类型 = 文本型>
    局部_秒 = 选择 (取文本长度 (到文本 (取秒 (局部_现行UTC时间))) == 1, "0" + 到文本 (取秒 (局部_现行UTC时间)), 到文本 (取秒 (局部_现行UTC时间)))
    // 时间
    加入文本 (局部_返回数据, 局部_小时 + ":" + 局部_分钟 + ":" + 局部_秒 + " ")
    // GMT后缀
    加入文本 (局部_返回数据, "GMT")
    返回 (局部_返回数据)

}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-6-2 20:54 , Processed in 0.090855 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表