C语言实现日期转换小工具
已知日期转天数;已知天数转日期
核心是判断闰年,可见:C语言判断闰年
//编译环境vs 2019
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <iostream>
using namespace std;
#include <string>int year = 0, sum = 0, month = 0, day = 0;bool leapYear(int year);
int leapMonth[12] = { 31,29,31,30,31,30,31,31,30,31,30,31 };
int noleapMonth[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
void schema1();
void schema2();void main()
{int year = 0, sum = 0, month = 0, day = 0;int key = 0;printf("1.日期转天数:输入x年x月x日,输出第x天\n2.天数转日期:输入x年第x天,输出x年x月x日\n");scanf("%d",&key);switch (key){case 1:schema1(); break;case 2:schema2(); break;default:break;}
}void schema1()
{printf("\n请输入:xxxx-xx-xx:\n");string str;cin >> str;int year, month, day;year = stoi(str.substr(0, 4));month = stoi(str.substr(5, 7));day = stoi(str.substr(8, 10));//printf("%d %d %d", year, month, day);//至此,年,月,日已经安排好int sum = 0;if (leapYear(year)) //如果是闰年,则一年有366天{//先判断是否是闰年,再判断是哪一个月for (int k = 0; k < month - 1; k++){sum += leapMonth[k];}sum += day;}else{for (int k = 0; k < month - 1; k++){sum += noleapMonth[k];}sum += day;}printf("\n%d\n", sum);
}void schema2()
{printf("\n请输入:xxxx xxx:\n");scanf("%d", &year);scanf("%d", &sum);if (leapYear(year)) //先判断是否闰年{// printf("闰年\n");for (int i = 0; sum > 0; i++){month += 1;day = sum;sum -= leapMonth[i];}}else{// printf("闰年\n");for (int i = 0; sum > 0; i++){month += 1;day = sum;sum -= noleapMonth[i];}}printf("\n%d-%d-%d\n", year, month, day);}bool leapYear(int year)
{if(year % 4 == 0 && year % 100 != 0|| year % 400 == 0)return true;elsereturn false;
}
C语言实现日期转换小工具相关推荐
- python最简单的语言_Python语言的简单实用小工具
本文主要向大家介绍了Python语言的简单实用小工具,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 在python进行自动化编写的过程中,常常需要造一些数据,比如,获取随机的合法 ...
- 实用c语言函数源码,C语言编写简单朗读小工具(有源码)
原标题:C语言编写简单朗读小工具(有源码) 最近不少人在后台留言说学C都是面对枯燥的控制台程序,能不能体现一下C语言的实际用途,今天我们就理论结合实践一把:C语言结合VBS脚本编写一个简单的朗读小工具 ...
- c语言案例朗读工具源码,C语言编写简单朗读小工具(有源码)
原标题:C语言编写简单朗读小工具(有源码) 最近不少人在后台留言说学C都是面对枯燥的控制台程序,能不能体现一下C语言的实际用途,今天我们就理论结合实践一把:C语言结合VBS脚本编写一个简单的朗读小工具 ...
- 如何使用Qt开发一个进制转换小工具
本游戏使用Qt5.8开发 这是一款进制转换小工具,比如十二进制的源数据15,如果您选择目标进制7进制的话,那么按下转换按钮,程序会输出[23]:程序的逻辑原理大概如此:首先把输入通过一系列算法转换成b ...
- 飞桨上线万能转换小工具,教你玩转TensorFlow、Caffe等模型迁移
百度推出飞桨(PaddlePaddle)后,不少开发者开始转向国内的深度学习框架.但是从代码的转移谈何容易,之前的工作重写一遍不太现实,成千上万行代码的手工转换等于是在做一次二次开发. 现在,有个好消 ...
- 飞桨万能转换小工具X2Paddle,教你玩转模型迁移
百度推出飞桨(PaddlePaddle)后,不少开发者开始转向国内的深度学习框架.但是从代码的转移谈何容易,之前的工作重写一遍不太现实,成千上万行代码的手工转换等于是在做一次二次开发. 现在,有个好消 ...
- stp转obj, stp转stl转换小工具
最近由于工作需要,对occ技术进行了研究,做了两个小工具, 将stp文件转为obj格式文件,将stp格式文件转为stl格式文件,效果如下: stp格式转obj格式 经过大半年的研究,目前可以实现主流C ...
- Linux、Mac时间戳转换小工具
工作中经常会和时间戳打交道,每当这个时候,都需要打开网页,去格式化或者反格式化某一个时间戳.因此用go写了一个小工具,命令行即可直接查看结果. github地址:https://github.com/ ...
- 【Go】使用Go语言打造定时提醒小工具,从基础到优化全方位探索
文章目录 一.引言 1.目的和背景 2.选择GO语言的原因 二.GO语言中的时间和定时器 1.时间相关的包和函数 2.定时器相关的包和函数 三.使用GO语言实现功能 四.代码改进 1.time.Aft ...
- QT 进制转换小工具 二进制/十进制/十六进制/浮点数转换
野生小菜鸟一只,程序效果如下,希望大家多多支持. 1. 按table切换LineEdit: 2. 输入要计算的数据后,按回车执行,计算后的数据会显示在同一行的另一个控件中. 3. LIneEdit内加 ...
最新文章
- 有“声”以来,语音如何识别?
- UVA 1210 Sum of Consecutive Prime Numbers
- clistctrl 单机空白处 会取消选中_官方默许BUG:无法选中也能被控制?这些秘密很多玩家到现在都没发现!...
- 学习LD_PRELOAD之摘抄
- asp.net mvc处理css和js版本问题
- python 获取向上两级路径_全国计算机二级Python真题解析-1
- android 打印机蜂鸣器,CANON喷墨打印机 蜂鸣器响5声不打印的问题解决办法
- 实验吧Web-易-天网管理系统(php弱类型,==号)
- php获取js函数返回的值_最全最详细的PHP面试题(带有答案)
- 160. Intersection of Two Linked Lists(剑指Offer-两个链表的第一个公共结点)
- 将vue,H5项目打包成app,apk安装包
- 磁盘分区 如何分出整数
- PC设置切换Fn功能键
- 我的世界服务器自动刷矿机,我的世界空岛刷矿机制作教程
- Python爬虫爬取链家租房信息(python大作业)
- python2在线编译器_C/C++/Python在线编译器
- 触摸板把计算机从休眠状态唤醒,win10笔记本盒盖唤醒后触摸板失灵的处理方法...
- WEB电商项目广告管理与缓存解决方案
- 【图像隐藏】基于小波变换DWT实现数字水印嵌入提取含各类攻击附matlab代码
- wps单元格内怎样批量换行_wps里excel怎么换行在同一单元格内
热门文章
- (转)数字货币平台的交易风险
- Julia语言:让高性能科学计算人人可用(转)
- 技术人 | 为什么我们的系统会如此复杂?
- Kafka从上手到实践 - 初步认知:Zookeeper | 凌云时刻
- 【物理应用】基于matlab双目视觉三维重建【含Matlab源码 1781期】
- 【背包问题】基于matlab离散粒子群算法求解0-1背包问题【含Matlab源码 1342期】
- 【路径规划】基于matlab改进的人工势场算法机器人避障路径规划【含Matlab源码 1151期】
- 【人脸识别】基于matlab GUI人脸实时检测与跟踪【含Matlab源码 673期】
- 极速火箭网络助手怎么用_在检测火箭队方面,神经网络比灰烬更好吗? 如果是这样,如何?...
- YOLOv5与Faster RCNN相比。 谁赢?