从日期计算一年中的第几天

2023-11-30

我需要计算给定日期的天数。一年有 366 天。然而,每个月都有不同的值,我必须分配这些值。有没有比我现在的方法更快的方法?

#include<iostream>
using namespace std;
int main()
{
   int day, month, year, dayNumber;

   cout<< "Please enter the month, by numerical value:";
   cin>> month;
   cout<<"Please enter the day, by numerical value:";
   cin>> day;
   cout<<"Please enter the year, by numerical value:";
   cin>> year;
   if (month == 1)
   {
      dayNumber= day;
      cout<< "Month;" << '\t'<< month << '\n'
          << "Day:"<<'\t'<< day<< '\n'
          << "Year:"<<'\t'<< year<<'\n'
          << "Day Number:"<< '\t'<< dayNumber<< endl;
   }
   else if(month==2)
   {
      dayNumber= day+31; 
   }
}

只需使用mktime:

tm date = {};
date.tm_year = year - 1900;
date.tm_mon = month - 1;
date.tm_mday = day;
mktime( &date );
dayNumber = date.tm_yday;

否则,您将需要一个二维表:

int daysToMonth[2][12] =
{
    { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 },
    { 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 },
};

和一个函数:

bool isLeapYear( int year )
{
    return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0);
}

那么一年中的某一天是:

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

从日期计算一年中的第几天 的相关文章

  • InvalidOperationException - 对象当前正在其他地方使用 - 红十字

    我有一个 C 桌面应用程序 其中我连续创建的一个线程从源 实际上是一台数码相机 获取图像并将其放在 GUI 中的面板 panel Image img 上 这必须是另一个线程 如它是控件的代码隐藏 该应用程序可以工作 但在某些机器上 我会在随
  • 用于代数简化和求解的 C# 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 网络上有很多代数求解器和简化器 例如 algebra com 上不错的代数求解器和简化器 然而 我正在
  • 使用 std::packaged_task/std::exception_ptr 时,线程清理程序报告数据争用

    我遇到了线程清理程序 TSan 的一些问题 抱怨某些生产代码中的数据争用 其中 std packaged task 通过将它们包装在 std function 中而移交给调度程序线程 对于这个问题 我简化了它在生产中的作用 同时触发 TSa
  • 如何在c++中读取pcap文件来获取数据包信息?

    我想用 C 编写一个程序来读取 pcap 文件并获取数据包的信息 例如 len sourc ip flags 等 现在我找到了如下代码 我认为它会帮助我获取信息 但是我有一些疑问 首先我想知道应该将哪个库添加到我的程序中 然后什么是 pca
  • 如何将 protobuf-net 与不可变值类型一起使用?

    假设我有一个像这样的不可变值类型 Serializable DataContract public struct MyValueType ISerializable private readonly int x private readon
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • 复制 std::function 的成本有多高?

    While std function是可移动的 但在某些情况下不可能或不方便 复制它会受到重大处罚吗 它是否可能取决于捕获变量的大小 如果它是使用 lambda 表达式创建的 它依赖于实现吗 std function通常被实现为值语义 小缓
  • 在 LINQ 中按 Id 连接多表和分组

    我想按categoryId显示列表产品的名称组 这是我的代码 我想要我的视图显示结果 Desktop PC HP Red PC Dell Yellow PC Asus Red SmartPhone Lumia 720 Blue 我的组模型
  • 在 C 中匹配二进制模式

    我目前正在开发一个 C 程序 需要解析一些定制的数据结构 幸运的是我知道它们是如何构造的 但是我不确定如何在 C 中实现我的解析器 每个结构的长度都是 32 位 并且每个结构都可以通过其二进制签名来识别 举个例子 有两个我感兴趣的特定结构
  • 获取两个工作日之间的天数差异

    这听起来很简单 但我不明白其中的意义 那么获取两次之间的天数的最简单方法是什么DayOfWeeks当第一个是起点时 如果下一个工作日较早 则应考虑在下周 The DayOfWeek 枚举 http 20 20 5B1 5D 3a 20htt
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • 为什么调用非 const 成员函数而不是 const 成员函数?

    为了我的目的 我尝试包装一些类似于 Qt 共享数据指针的东西 经过测试 我发现当应该调用 const 函数时 会选择它的非 const 版本 我正在使用 C 0x 选项进行编译 这是一个最小的代码 struct Data int x con
  • 如何检测表单的任何控件的变化?

    如何检测 C 中表单的任何控件的更改 由于我在一个表单上有许多控件 并且如果表单中的任何控件值发生更改 我需要禁用按钮 我正在寻找一些内置函数 事件处理程序 属性 并且不想为此创建自定义函数 不 我不知道任何时候都会触发任何事件any控制表
  • 如何禁用 fread() 中的缓冲?

    我正在使用 fread 和 fwrite 读取和写入套接字 我相信这些函数用于缓冲输入和输出 有什么方法可以在仍然使用这些功能的同时禁用缓冲吗 Edit 我正在构建一个远程桌面应用程序 远程客户端似乎 落后于服务器 我不知道可能是什么原因
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • Cmake 链接共享库:包含库中的头文件时“没有这样的文件或目录”

    我正在学习使用 CMake 构建库 构建库的代码结构如下 include Test hpp ITest hpp interface src Test cpp ITest cpp 在 CMakeLists txt 中 我用来构建库的句子是 f
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • System.IO.FileNotFoundException:找不到网络路径。在 Windows 7 上使用 DirectoryEntry 对象时出现异常

    我正在尝试使用 DirectoryEntry 对象连接到远程 Windows 7 计算机 这是我的代码 DirectoryEntry obDirEntry new DirectoryEntry WinNT hostName hostName

随机推荐

  • 在 React hook 上使用 props 值有什么不好吗?

    我是反应钩子的新手 我只是在文档中没有看到这一点 const MyComponent myProp gt const myPropHook setPropHook useState myProp 我想知道这是否是一个好的做法 您传递给的值u
  • CSS中的margin和padding有什么区别?

    有什么区别margin and padding在CSS中 什么时候应该使用其中之一 padding 和 margin 之间最大的区别是垂直边距会自动折叠 而 padding 不会 考虑两个元素一个在另一个之上 每个元素的填充为1em 该填充
  • CodeIgniter 路由 - 仅从一个类的 URL 中删除类名

    我想重新映射这个 index php pages services进入这个index php services 我该怎么做 我尝试过这个 但它不起作用 route any pages 更新 这种方法有动态方法吗 因此 该类中的每个函数都将重
  • UITextView 不调用 ShouldChangeTextInRange

    我使用自定义 UITextView 并需要在返回单击时隐藏键盘 我需要捕获具有文本视图的 ShouldChangeTextInRange 我不知道为什么 但是 方法未被调用 这是我的文本视图的代码 public class Placehol
  • 在 Android 中启用当前禁用的 Spinner

    我在 Android 上闲逛 而我的 Java 知识充其量是有限的 例如 我对它允许内联类这一事实感到困惑 我的问题如下 我有一个布局 其中有三个下拉菜单 我在 onCreate 中初始化了所有三个 第一个从字符串数组中获取值 然而 第二个
  • R - 使用 ggplot2 和栅格包的地理参考栅格图像的原始颜色

    我想使用原来的colortable of a gt gt 地理参考光栅图像 tif 文件 作为彩色比例在 ggplot ggplot2 绘制的地图中 由于找不到更简单的解决方案 我访问了colortable 槽从legend 加载的光栅图像
  • 使用Boost读写XML文件

    有没有什么好的方法 也是一个简单的方法 使用Boost来读写XML文件 我似乎找不到任何使用 Boost 读取 XML 文件的简单示例 您能给我指一个使用 Boost 读写 XML 文件的简单示例吗 如果不是 Boost 有什么好的 简单的
  • array_intersect 多维数组内部

    我有一个多维数组 可以根据用户输入增加 我想在数组内执行 array intersect 以获得键之间的公共值 就像例子 Array php gt Array 0 gt 36 1 gt 51 2 gt 116 3 gt 171 4 gt 2
  • 报告公式中的小数点四舍五入

    我的水晶报表需要将数字四舍五入到小数点后两位 我努力了Round 55 815 2 但它返回55 81代替55 82 我该如何解决这个问题 如果出于显示目的需要对小数进行四舍五入 只需使用 减少小数 图标即可
  • 列出Android设备上的所有图像

    我试图列出自 14 小时以来 Android 设备中的所有图像及其路径 但我无法 它一直给我 java lang RuntimeException 无法启动活动 ComponentInfo 错误 我不明白为什么 有什么帮助吗 package
  • tolower() 不工作

    下面的代码片段用于将字符串转换为小写 int main unsigned char s AbS d tolower s printf s n s return 0 我正在得到output as AbS d 为什么字符串没有被转换 tolow
  • 在 MATLAB 中扫描每一列,无需 for 循环

    I 2 1 A 7 11 8 17 我怎样才能在 A 中选择正确的值而不for loop I是每列的索引向量A 那是I 1 is 8 and I 2 11 Use sub2ind根据正确的行和列坐标生成线性索引 然后使用它们进行索引A 在这
  • 如何提取 git 子目录并从中创建子模块?

    几个月前我开始了一个项目 并将所有内容存储在主目录中 在我的主目录 Project 中 有几个包含不同内容的子目录 项目 论文包含用 LaTeX 编写的文档 Project sourcecode RailsApp 包含我的 Rails 应用
  • 从原点拉取时“git pull”命令之间的差异?

    这些命令之间有什么区别 1 git pull 2 git pull origin 3 git pull origin master 4 git pull origin master 5 git pull origin HEAD master
  • 在 Outlook 插件中,如何检查我们是否处于撰写模式或阅读模式?

    我正在创建一个 Outlook 加载项并在 React 应用程序中使用 OfficeJS API 在那里 我想加载一组特定的撰写模式功能和另一组阅读模式功能 所以我的问题是 如何查看我当前处于哪种模式 如果您不想为读取和撰写模式创建两个单独
  • Android改变Material高程阴影颜色

    是否可以更改 xml 高程属性产生的阴影颜色 我希望通过代码动态改变阴影 我知道这个问题很老了 可能作者不再需要答案了 我会把它留在这里 以便其他人可以找到它 Lollipop 的高程系统不支持彩色阴影 但是 如果您需要彩色阴影 可以使用
  • C非阻塞键盘输入

    我正在尝试用 C 在 Linux 上 编写一个程序 该程序循环直到用户按下某个键 但不需要按键来继续每个循环 有没有一种简单的方法可以做到这一点 我想我可以用select 但这似乎需要很多工作 Alternatively is there
  • iPhone:Airplay SDK有什么用?

    有人可以解释一下什么是Airplay SDK 何时使用它 如何在程序中使用等详细信息 我希望它用于将视频从 iPhone 传输到电视 Thanks 隔空播放软件开发工具包实际上是一个针对iPhone Android Symbian的跨平台游
  • 如何将dict数据写入表格格式

    如何以下表输出格式写入以下数据 字典列表 data date datetime date 2011 2 8 user u xxx status u P date datetime date 2011 2 8 user u yyy statu
  • 从日期计算一年中的第几天

    我需要计算给定日期的天数 一年有 366 天 然而 每个月都有不同的值 我必须分配这些值 有没有比我现在的方法更快的方法 include