两个字符怎么存储年月日(YYYYMMDD)

ybvb 2011-02-21 09:02:11
二进制 DA 38 十进制 14554 对应 2011-02-18 或者 11-02-18
怎么编码?
...全文
394 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cdsnpeter 2011-02-21
  • 打赏
  • 举报
回复
参考了2楼jennyvenus大牛的思想。
cdsnpeter 2011-02-21
  • 打赏
  • 举报
回复
刚好2字节。
cdsnpeter 2011-02-21
  • 打赏
  • 举报
回复
使用bit-field.
struct ShortDateType
{
BYTE nYear:7;
BYTE nMouth:4;
BYTE nDate:5;
};
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jennyvenus 的回复:]

给年分配7位,范围为128年,月分配4位,范围16个用,只用12个,给日期分配5位,范围0-31天,使用1-31,共16位,可放入2字节内,这样可行。
[/Quote]
这个貌似正好!
  • 打赏
  • 举报
回复
两个字符能到65535,一年是365或366天
拿65535/366,应该能存一百多年
打个比方就存日期与1999-12-31日的差值,比如2000-1-1就是1
Eleven 2011-02-21
  • 打赏
  • 举报
回复
DWORD表示,一个WORD表示年,另个WORD表示月和日,MAKEWPARAM/MAKELPARAM()把两个WORD合并成一个DWORD类型
或者MAKELONG()宏,两个WORD合并为一个LONG
用户 昵称 2011-02-21
  • 打赏
  • 举报
回复
给年分配7位,范围为128年,月分配4位,范围16个用,只用12个,给日期分配5位,范围0-31天,使用1-31,共16位,可放入2字节内,这样可行。
用户 昵称 2011-02-21
  • 打赏
  • 举报
回复
要考虑时间的范围,如果范围很小的话,是可以的。
TandyT 2011-02-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jennyvenus 的回复:]
给年分配7位,范围为128年,月分配4位,范围16个用,只用12个,给日期分配5位,范围0-31天,使用1-31,共16位,可放入2字节内,这样可行。
[/Quote]

支持!!
sg_knight 2011-02-21
  • 打赏
  • 举报
回复
2楼方法不错。
副组长 2011-02-21
  • 打赏
  • 举报
回复
儒略日,减掉一个大数,可存170多年。使用时变换回年月日。
jyh_baoding 2011-02-21
  • 打赏
  • 举报
回复
确实可以,使用联合实现

16,549

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧