社区首页 >问答首页 >如何使用c++根据周代码而不是当前日期获取到期日期

如何使用c++根据周代码而不是当前日期获取到期日期
EN

Stack Overflow用户
提问于 2022-03-16 16:00:38
回答 1查看 229关注 0票数 1

如何获得基于周代码的项的过期日期?每当我运行我编写的代码时,程序就会读取当前日期,而忽略了周代码。例如:

代码语言:javascript
代码运行次数:0
复制
Week Code: 2138 (2021 week 38)
Shelf_life : 6 months
代码语言:javascript
代码运行次数:0
复制
CTime weekcode = CTime::GetCurrentTime();

CTimeSpan shelf_no = CTimeSpan(atoi(view->m_pODBCPartsNo->m_shelf_life), 0, 0, 0);

CTime expiration_date = weekcode = shelf_no;

周代码是日期代码,例如2138、2021年(21)、38(38)周。第38周大约是2021年9月19日至2021年9月25日。

现在的问题是,如何获得基于周代码的过期日期?我还会使用"GetCurrentTime“吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-16 19:17:34

下面是我如何使用Hinnant的免费的、开源的、仅限头的日期库来做这件事

代码语言:javascript
代码运行次数:0
复制
#include "date/iso_week.h"
#include "date/date.h"
#include <chrono>
#include <iostream>

int
main()
{
    using namespace date;

    int weekcode = 2138;
    int shelf_life = 6;

    iso_week::year y{weekcode / 100 + 2000};
    iso_week::weeknum wk(weekcode % 100);
    auto prod_date = y/wk/iso_week::wed;
    auto exp_date = floor<days>(sys_days{prod_date} + months{shelf_life});

    std::cout << "Production date : " << prod_date << '\n';
    std::cout << "Expiration date : " << exp_date << '\n';
}

这假设您使用ISO周日期作为“周号”的定义,这是一个国际公认的标准。该程序从简单地将weekcode解码为yearweeknum开始。然后,它使用图书馆来使用这个yearweeknum创建一个生产日期。若要完成此日期,必须提供weekday。我选择了星期三,因为这是ISO工作周的中间时间。

代码语言:javascript
代码运行次数:0
复制
auto prod_date = y/wk/iso_week::wed;

然后,只需将6个月添加到该日期,即可计算到期日。请注意,此添加是使用时间计算完成的,因为产品老化是一个物理过程,不关心不同月份的长度不同。使用“平均月”长度就足够了。

若要执行此时间顺序算法,必须首先将生产日期转换为时间日期( sys_days )。这只是从Unix时间时代开始的几天的统计。

代码语言:javascript
代码运行次数:0
复制
auto exp_date = floor<days>(sys_days{prod_date} + months{shelf_life});

由于月平均持续时间不是天数的整数,所以结果比天数更精确。因此,必须将其截断回days的精度,以创建日期,而不是日期时间。

上面的程序输出:

代码语言:javascript
代码运行次数:0
复制
Production date : 2021-W38-Wed
Expiration date : 2022-03-23
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71505585

复制
相关文章
java获取当前日期是周几_根据日期获取当前周
/** * 获取当前日期是星期几<br> * * @param dt * @return 当前日期是星期几 */ public static String getWeekOfDate(Date dt) { String[] weekDays = {“星期日”, “星期一”, “星期二”, “星期三”, “星期四”, “星期五”, “星期六”}; Calendar cal = Calendar.getInstance(); cal.setTime(dt);
全栈程序员站长
2022/10/29
5.4K0
Python如何根据日期判断周几
https://jingyan.baidu.com/article/4dc40848d2536e88d846f105.html
py3study
2020/09/07
2K0
根据当前系统时间获取工作日日期
/** * 根据当前时间获取本周周一日期 * @return */ public static String getOneWeeks(){ Calendar cal =Calendar.getInstance(); SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd"); cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); /
斯文的程序
2019/11/07
1.2K0
Python获取当前日期和日期差计算
关于python的日期和时间,用法很多,此处只记录自己比较常用的部分,后面有时间再学习一下时间戳。
py3study
2020/01/19
10.9K0
java如何获取当前日期和时间[通俗易懂]
获取标准时间可以通过System.currentTimeMillis()方法获取,此方法不受时区影响,得到的结果是时间戳格式的。例如:
全栈程序员站长
2022/10/04
2.7K0
java如何获取当前日期和时间
Java 8提供了一个全新的API,用以替换java.util.Date和java.util.Calendar。Date / Time API提供了多个类,帮助我们来完成工作,包括:
Java架构师必看
2021/09/14
3K0
js如何获取当前本地日期年月日
今天俺跟大家分享Javascript中如何获取到当前的日期,但是该方法在实际项目中使用的并不多。
IT工作者
2022/01/25
10K0
js如何获取当前本地日期年月日
/** * 时间:2019年8月18日 * 前端教程: https://www.pipipi.net/ */ var today = new Date(); var dd = String(today.getDate()).padStart(2, '0'); var mm = String(today.getMonth() + 1).padStart(2, '0'); var yyyy = today.getFullYear(); today = mm + '/' + dd + '/' + yy
用户1349575
2021/12/28
9K0
Power Pivot智能日期运用——当前初始日期/当前结束日期
(六) 当前初始日期 1. OPENINGBALANCEMONTH/ OPENINGBALANCEQUARTER/ OPENINGBALANCEYEAR A) 语法 OpeningBalanceMonth (<expression>, <dates> [, <filter>]) OpeningBalanceQuarter (<expression>, <dates> [, <filter>]) OpeningBalanceYear (<expression>, <dates> [, <filter>] [,
逍遥之
2020/03/24
2.7K0
Power Pivot智能日期运用——当前初始日期/当前结束日期
DateTimePicker 日期时间选择器,默认获取当前日期
在vue里面,我们已经用到过单独的TimePicker 时间选择器和DatePicker 日期选择器了,现在需要用到一个可以同时选择年月日时分秒的插件,饿了么的文档里面就有现成可以使用的~~
王小婷
2021/07/19
7.3K0
DateTimePicker 日期时间选择器,默认获取当前日期
TypeScript 2 : 获取当前日期及前后范围日期【Array】
就是用时间戳进行换算,然后通过内置函数获取对应字段进行拼接,,这里没有带时分秒,有兴趣的可以加个可选参数把时分秒带上。。因为我这里不需要用到,所以我就没加进去了。。
CRPER
2018/08/28
3.6K0
Android获取当前系统日期和时间
安卓 获得系统时间 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //创建线性布局管理器 LinearLayout layout = new LinearLayout(this);
圆号本昊
2021/09/24
3K0
Android获取当前系统日期和时间
[javascript] js获取当前日期时间戳
获取当前日期的时间戳函数 以及获取当前日期的函数 //js获取当前时间 function getNowDate() { var myDate = new Date; var year = myDate.getFullYear(); //获取当前年 var mon = myDate.getMonth() + 1; //获取当前月 if(mon<10){ mon="0"+mon; } var date = myDate.getDate(); //获
唯一Chat
2022/05/11
18.6K0
antd 的日期选择器如何获取当前时间
antd datet.png <DatePicker onChange={this.changeDate.bind(this)} format="YYYY-MM-DD" /> 要通过 new Date() 来转化两次。 changeDate(now) { console.log(now); // 中国区的时间格式 let time = new Date(now._d) console.log(time); let
用户4344670
2020/02/13
6.2K0
antd 的日期选择器如何获取当前时间
JAVA获取当前日期或指定日期的前N天的日期集合
因为最近的业务系统需求,前端有两个时间选择框,分别为startTime和endTime,用户展示一段时间内的折线图,但是如果用户选择的时间段太长,折线图时间轴太密集,展示效果十分不佳,于是我使用java代码书写了一个时间工具类,可以返回当前日期或指定日期的前N天的日期集合,如果传入的开始时间和结束时间间隔太大,还可以自动适应时间。
Java架构师必看
2021/05/14
3.4K0
python获取当前系统的日期_python怎么获取当前系统时间
python获取当前系统时间,包括年月日,时分秒,主要通过Python中的datetime模块来实现。
全栈程序员站长
2022/11/02
6.3K0
python获取当前系统的日期_python怎么获取当前系统时间
[javascript] 获取当前时间日期和时间戳
很常见的需求 两个函数 //js获取当前时间 function getNowDate() { var myDate = new Date; var year = myDate.getFullYear(); //获取当前年 var mon = myDate.getMonth() + 1; //获取当前月 var date = myDate.getDate(); //获取当前日 var hours = myDate.getHours(); //获取当前小时 var
唯一Chat
2021/12/24
3.3K0
Python中获取当前日期的格式
在Python里如何获取当前的日期和时间呢?在Python语言里,我们可以通过调用什么模块或者类函数来得到当前的时间或日期呢? 当然你可以使用时间模块(time module),该模块提供了各种和时间相关的函数。但是这个模块里的一些函数在某些平台里不可用。那么怎么办呢?我们 可以使用一个更高级的面向对象的接口函数:datetime。它提供了操作日期和时间的多种简单或复杂的方法。 python里使用time模块来获取当前的时间 1 2 3 time.strftime(format)
用户1217611
2018/01/30
4.5K0
Python中获取当前日期的格式
在Python里如何获取当前的日期和时间呢?在Python语言里,我们可以通过调用什么模块或者类函数来得到当前的时间或日期呢?
全栈程序员站长
2022/07/11
4.4K0
MySQL获取当前时间与日期间隔[通俗易懂]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/08
6.9K0

相似问题

根据日期的周而不是日期的日期计算日期

10

如何根据当前周中的日期获取最后一周的开始日期和结束日期

10

如何获取当前周的所有日期?

223

根据不包括当前周的日期获取前4周的数据

11

周开始时间给出前一周的日期,而不是当前周

117
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档