获取给定一周的第一天

2023-12-10

我将当前周作为整数(截至目前为 43)。 我需要周一的日期,格式如“Mon Oct 25”。

我以为我可以通过一个函数来实现这一点,但我不知道该怎么做。 有什么建议么?

编辑: 我尝试了 R. 的建议,但没有给出预期的结果。难道是我执行错了?

time_t monday;
char date_format[32];
time_t now = time(NULL);
struct tm *tm = localtime(&now);

tm->tm_yday = 0; // reset to Jan 1st
tm->tm_hour = 24 * 7 * WEEK + 24; // goto Sun and add 24h for Mon

monday = mktime(tm);

strftime(date_format, 31, "%a : %D", tm);

printf("%s\n", date_format);

注意:未经测试,但考虑到当前年份,这应该可以做到:

const char *months[12]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep",
                        "Oct","Nov","dec","Jan"};
/* Start with January 1st of the current year */
struct tm curYear={
  0, // secs
  0, // mins
  0, // hours
  1, // Day of month
  0, // Month (Jan)
  year,
  0, // wday
  0, // yday
  0}; // isdst

/* Offset the number of weeks specified */
time_t secsSinceEpoch=mktime(&curYear)+
                      weekNum*86400*7; /* Shift by number of weeks */
struct tm *candidateDate=gmtime(&secsSinceEpoch);

/* If the candidate date is not a Monday, shift it so that it is */
if (candidateDate->tm_wday!=1)
{
  secsSinceEpoch+=(86400*(candidateDate->tm_wday-1)); 
  candidateDate=gmtime(&secsSinceEpoch);
}

printf("Mon %s %d",months[candidateDate->tm_mon],candidateDate->tm_mday\n");

例如,您可能需要根据给定年份的第 43 周的确切含义或符合 ISO-8601 来调整此代码中的公式。但是,这应该为您提供良好的样板代码以供您入门。您可能还想参数化星期几,以便它不被硬编码。

另外,如果需要,您可以通过截断结果来避免使用月份数组并格式化时间ctime函数,它恰好显示的内容超出了您的要求。您将向其传递一个指向secsSinceEpoch值并截断其输出以仅显示星期几、月份中的某一天和月份名称的缩写。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取给定一周的第一天 的相关文章

  • WinForms:如何确定窗口是否不再活动(没有子窗口具有焦点)?

    我的应用程序使用多个窗口 我想隐藏一个特定窗口 以防应用程序失去焦点 当活动窗口不是应用程序窗口时 source https stackoverflow com questions 466354 how can i tell if a wi
  • ASP.NET MVC 中的经典 ASP (C#)

    我有一个应用程序想要 最终 转换为 ASP NET MVC 我想要进行全面的服务升级 到 ASP NET 但想要使用当前的 ASP 内容来运行当前的功能 这样我就可以在对新框架进行增量升级的同时升级小部分 该站点严重依赖于不太成熟的 VB6
  • 使用post方法将多个参数发送到asp.net core 3 mvc操作

    使用 http post 方法向 asp net mvc core 3 操作发送具有多个参数的 ajax 请求时存在问题 参数不绑定 在 dot net 框架 asp net web api 中存在类似的限制 但在 asp net mvc
  • 显示异常时的自定义错误消息:从客户端检测到潜在危险的 Request.Form 值

    我在我的 Web 应用程序中使用 ASP NET 的登录控件 当发生此异常时 我想在标签上显示一种有趣的错误类型System Web HttpRequestValidationException A potentially dangerou
  • 如何使用recv()检测客户端是否仍然连接(并且没有挂起)?

    我写了一个多客户端服务器程序C on SuSE Linux 企业服务器 12 3 x86 64 我为每个客户端使用一个线程来接收数据 我的问题是 我使用一个终端来运行服务器 并使用其他几个终端来运行服务器telnet到我的服务器 作为客户端
  • 从多个类访问串行端口

    我正在尝试使用串行端口在 arduino 和 C 程序之间进行通信 我对 C 编程有点陌生 该程序有多种用户控制形式 每一个都需要访问串口来发送数据 我需要做的就是从每个类的主窗体中写入串行端口 我了解如何设置和写入串行端口 这是我的 Fo
  • 暂停下载线程

    我正在用 C 编写一个非常简单的批量下载程序 该程序读取要下载的 URL 的 txt 文件 我已经设置了一个全局线程和委托来更新 GUI 按下 开始 按钮即可创建并启动该线程 我想要做的是有一个 暂停 按钮 使我能够暂停下载 直到点击 恢复
  • IronPython:没有名为 json 的模块

    我安装了 IronPython 我的 python 文件如下所示 import sys print sys version import json 运行它的代码 var p Python CreateEngine var scope p C
  • 如何识别 WPF 文本框中的 ValidationError 工具提示位置

    我添加了一个箭头来指示工具提示中的文本框 当文本框远离屏幕边缘时 这非常有效 但是当它靠近屏幕边缘时 工具提示位置发生变化 箭头显示在左侧 Here is the Image Correct as expected since TextBo
  • Qt 创建布局并动态添加小部件到布局

    我正在尝试在 MainWindow 类中动态创建布局 我有四个框架 它们是用网格布局对象放置的 每个框架都包含一个自定义的 ClockWidget 我希望 ClockWidget 对象在调整主窗口大小时相应地调整大小 因此我需要将它们添加到
  • 将数据打印到文件

    我已经超载了 lt lt 运算符 使其写入文件并写入控制台 我已经为同一个函数创建了 8 个线程 并且我想输出 hello hi 如果我在无限循环中运行这个线程例程 文件中的o p是 hello hi hello hi hello hi e
  • 无法将类型“System.IO.Stream”隐式转换为“Java.IO.InputStream”

    我提到了一些类似的问题 但没有一个涉及IO 当我使用时 我在java中使用了相同的代码Eclipse 那次就成功了 但现在我尝试在中使用这段代码Mono for Android C 它不起作用 我正在尝试运行此代码来创建一个InputStr
  • 为什么我不应该对不是由 malloc() 分配的变量调用 free() ?

    我在某处读到 使用它是灾难性的free删除不是通过调用创建的对象malloc 这是真的 为什么 这是未定义的行为 永远不要尝试它 让我们看看当您尝试时会发生什么free 自动变量 堆管理器必须推断出如何获取内存块的所有权 为此 它要么必须使
  • 通过 NHibernate 进行查询,无需 N+1 - 包含示例

    我有一个 N 1 问题 我不知道如何解决它 可以在这个问题的底部找到完全可重复的样本 因此 如果您愿意 请创建数据库 设置 NUnit 测试和所有附带的类 并尝试在本地消除 N 1 这是我遇到的真实问题的匿名版本 众所周知 这段代码对于帮助
  • 将构建日期放入“关于”框中

    我有一个带有 关于 框的 C WinForms 应用程序 我使用以下方法将版本号放入 关于 框中 FileVersionInfo GetVersionInfo Assembly GetExecutingAssembly Location F
  • 获取 2 个数据集 c# 中的差异

    我正在编写一个简短的算法 它必须比较两个数据集 以便可以进一步处理两者之间的差异 我尝试通过合并这两个数据集并将结果更改放入新的数据集来实现此目标 我的方法如下所示 private DataSet ComputateDiff DataSet
  • 将代码拆分为标头/源文件

    我从 Asio 的示例页面中获取了以下代码 class tcp connection public boost enable shared from this
  • 剪贴板在 .NET 3.5 和 4 中的行为有所不同,但为什么呢?

    我们最近将一个非常大的项目从 NET Framework 3 5 升级到 4 最初一切似乎都工作正常 但现在复制粘贴操作开始出现错误 我已经成功制作了一个小型的可复制应用程序 它显示了 NET 3 5 和 4 中的不同行为 我还找到了一种解
  • 转到定义:“无法导航到插入符号下的符号。”

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我今天突然开始在我的项目中遇到一个问题 单击 转到定义 会出现一个奇怪的错误 无法导航到
  • 错误:无效使用不完整类型“类 Move”/未定义对 Move::NONE 的引用

    拜托 我不知道为什么这个简单的代码被拒绝 它给了我 2 个编译错误 请帮帮我 I use 代码 块 20 03 我的编译器是GNU GCC 移动 hpp class Move public Move Move int int public

随机推荐

  • 从 C++ DLL 调用 C# 方法/函数(通过“Dllimport”从 C# 加载)

    在一个标题中恢复它有点困难 所以这是我的情况 我正在构建一个加载 C 库的 C 应用程序 我从那个 C DLL 调用函数 但我也希望我的 C DLL 从 C 应用程序调用函数 即导入 运行它 这里有一段代码可以使其更全面 I m impor
  • 分页不适用于 NestedScrollView 中的 RecyclerView

    如何实现分页recyclerview那是在里面NestedScrollView 请按照以下步骤操作 1 设置recycler view的嵌套滚动启用为false recyclerView setNestedScrollingEnabled
  • kie 工作台部署战争不工作(tomcat)

    我已经下载了 kie workbench 并解压kie drools wb distribution wars 6 2 0 Final tomcat7 war 我以前从未使用过 tomcat 但我想使用工作台 但似乎没有一个选项可以让工作台
  • 具有 40+ 列的 mysql 表

    我的表格中有 40 多列 我必须添加更多字段 例如当前城市 家乡 学校 工作 大学 大学 将为许多匹配的用户提取这些用户数据 这些用户是共同的朋友 与其他用户朋友一起加入朋友表以查看共同的朋友 并且未被阻止并且还不是该用户的朋友 上面的请求
  • 在Conda环境中使用pip包

    我对如何通过安装软件包感到困惑pip and conda一起工作 我所知道的是 pip and conda安装不同的包格式 除了这一点之外 这里还有什么含义呢 pip无法安装conda封装格式 这对于这个问题的目的来说很好 因为您始终可以使
  • 在Python中组合列表

    我正在尝试合并 2 个列表并希望形成组合 a ibm dell b strength weekness 我想形成像这样的组合 ibm strength ibm weekness dell strength dell weakness 我尝试
  • 基于位置的增强现实 Android 应用程序

    我正在开发基于实时位置的增强现实 Android 应用程序 这是一个简单的概念 我的应用程序应该显示我周围的一些地方 我有 对此进行了深入研究 但我仍然遇到问题 我有我的 GPS 坐标 以及目标地点的 GPS 坐标 我的问题是 如何检索手机
  • Android:SQLite (ORMLite) 事务隔离级别

    我在我的 Android 项目中使用 ORMLite 我知道 Sqlite 负责文件级锁定 多个线程可以读取 一个可以写入 锁可以防止多次写入 有人可以解释一下 如果一个线程正在更新某些记录而另一个线程正在尝试读取该记录 会发生什么情况 线
  • 向上导航未启动父活动

    我有两项活动A and B其中 A 是 B 的父级 现在我显示一个启动 B 的通知 当我点击该通知时 B 就会启动 然后我点击up按钮 当活动 A 位于后台堆栈时 它可以正常工作 但否则应用程序只是关闭并且不会启动活动 A 我的设置 我已在
  • 子目录中的 Zend 应用程序使 Zend 布局链接正常工作

    我在子目录中设置了一个 Zend 应用程序 不要问为什么我必须这样做 不是我喜欢的方法 但我没有这样的选择 Zend 应用程序驻留在名为 dsa 的子目录中 http dsa dev dsa 我的 htaccess RewriteEngin
  • 如何确定 iPhone 6+ (plus) 处于标准模式还是缩放模式

    我正在尝试确定 iPhone 6 是处于标准模式还是缩放模式 但我找不到任何可以帮助确定这一点的 API 到目前为止 唯一指示手机处于哪种模式的是nativeScale if UIScreen mainScreen nativeScale
  • Numpy 矩阵乘法 U*B*U.T 产生非对称矩阵

    在我的程序中 我需要以下矩阵乘法 A U B U T where B is an M M对称矩阵 以及U is an N M其列正交的矩阵 所以我期望A也是一个对称矩阵 然而 Python 并没有这么说 import numpy as np
  • 可以读取但不能更新

    Problem 在 SQL Server 2008 R2 中 使用经典 ASP 页面中的 SQL 来更新数据库的任何尝试都会被拒绝 简而言之 可以读取 但无法在 ASP 页面中使用 SQL 更新 写入数据库 错误信息 SQL Server
  • 删除/删除数组中某些索引处的值

    我有一个像这样的数组 peoples dick jane harry debra hank frank 一个包含这样的键 keys 1 6 3 12 现在我可以写这样的东西 var peoplesStripedOfKeyPostions f
  • 图像列表/图像内存不足异常

    从 ImageList 获取图像时 我遇到了 OutOfMemoryException 我一直无法找到该问题的适当解决方案 我有一个自定义 ListView 控件 它附加了一个用于绘制 ListViewItems 的事件 然后调用一个用于绘
  • 如何在 Windows 中以编程方式安装驱动器?

    我们生产和销售一种设备 我们的用户有时希望通过多个 USB 集线器将其大量连接到他们的计算机 它是一种 USB 复合设备 同时具有人机接口 HID 和大容量存储 MSD 接口 Windows 会自动安装每个设备的文件系统 直到 Z 处的字母
  • JButton.setBounds(x,y,w,h) 似乎不起作用

    import javax swing JButton import javax swing JFrame import javax swing SwingUtilities public class SimpleExample extend
  • Docker:命令返回非零代码:137

    我的docker文件如下 Use python 3 6 image FROM python 3 6 ENV PYTHONUNBUFFERED 1 install required packages RUN apt get update RU
  • 如何找到给定数据库的 Sybase 索引列表?

    如何在 Sybase 中找到给定数据库的索引列表 Query against sysobjects and sysindexes SELECT o name i name FROM sysobjects o JOIN sysindexes
  • 获取给定一周的第一天

    我将当前周作为整数 截至目前为 43 我需要周一的日期 格式如 Mon Oct 25 我以为我可以通过一个函数来实现这一点 但我不知道该怎么做 有什么建议么 编辑 我尝试了 R 的建议 但没有给出预期的结果 难道是我执行错了 time t