HIT-软件构造blog-Java Calendar类

一直以来有一种感受,就是日期类这个东西是个神奇的东西。我觉得各编程语言中的日期类都不是面向为了肝大作业的学生设计的。

在Lab3里,我只是想朴素地设置一个日期,忽略时间,但却比较麻烦。尤其是在实验要求的三个App中的一个里使用了经典的基于毫秒的时间,出现了各种舍入bug。

感觉Java Calendar类相对比较友善。它其实相当于一个表,存了很多字段,比如YEAR,存的是年份;MONTH,存的是月份。很多情况下(尤其是对于这种学生实验)比那种只能存一个毫秒数的方法好用很多。

我用到了这么几个方法:

方法功能
Date getTime()返回一个Date类型的时间值
void set(int year, int month, int date)设定字段YEAR,MONTH,DAY_OF_MONTH
void set(int field, int value)为指定的字段field设置给定值value
int get(int field)得到指定字段的值
int compareTo(Calendar anotherCalendar)比较两个 Calendar 对象表示的时间值(从格林威治时间 1970 年 01 月 01 日00 时 00 分 00 秒至现在的毫秒偏移量),大则返回 1,小则返回 -1,相等返回 0
void add(int field, int amount)为给定的日历字段 field 添加指定的时间量 amount

这个Calendar把日期和时间都转化为字段和值。而且巧妙在,在修改某一个字段的值后,仍能够维持日历的合法性。比如将DAY_OF_MONTH搞成40,那么日期不会变成这个月的第40天,而会变成下个月的第10天。这样,对使用者来说,完全不需要考虑日期格式、闰年闰月之类的复杂问题,将维护日期简单化。

需要注意的是,Calendar中的有些字段的值是从0开始的,有些是从1开始的。我**猜测 **其大概的逻辑是,固定取值空间从0开始(比如DAY_OF_WEEK只可能有7个取值,那么就是0-6);而可能有变化的空间从1开始(比如每个月的天数都不一样,那么就从1开始,到30或者31或者28或者29结束,具体取决于是哪个月)。

内容概要:文章介绍了针对COVID-19的药物再利用的创新方法,这种方法融合了基于文献的知识(LitCovid和CORD-19数据集)及先进的知识图谱补全技术。具体采用了基于神经网络的TransE、RotatE等多种算法预测药物再利用的潜力,并通过开放和封闭的发现模式为预测结果提供合理的机制解释,包括发现模式、准确性分及定性评估等手段,增强了方法的实用性。研究表明,TransE表现最优,并成功预测并验证了一系列药物作为COVID-19的治疗候选人选。此外,方法不仅适用于COVID-19,还具备应用于其他疾病药物再利用及其他临床问题解决的潜力。此研究为快速高效地推进药物再利用提供了一个新的计算框架。 适合人群:生物医学科研人员,从事药品再利用、人工智能药物筛选的专业研究人员,对生物信息数据分析和处理感兴趣的学者或技术人员。 使用场景及目标:① 利用计算模型预测药物能否被重新应用于新的适应症,尤其是在面对突发公共卫生事件时加快新药物的研发进程。② 对现有药物进行再评价,以发现更广泛、安全、有效的治疗用途,为临床治疗提供依据和理论指导。③ 探讨通过自动化手段发掘药物作用机理的技术路径。 其他说明:作者团队来自多个国家和地区,研究获得了多项国家级基金支持,论文详尽描述了实验细节,并附上了全部代码和数据资源供后续拓展和重复研究使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值