从某一日期开始过day天的日期

  一个SX问我的,我就写了写......从2010.1.1开始,给了一组测试数据3的话输出2010.1.4星期1,所以说2010.1.1是星期五,总星期就是

(day+5)%7==0?7:(day+5)%7

下面是代码......

#include <iostream>
#include <stdlib.h>
using namespace std;

int month[] = {31,28,31,30,31,30,31,31,30,31,30,31};
int myDay[1100];

bool isRunYear(int year)
{
    if((year%4==0&&year%100!=0)||year%400==0)
        return true;
    return false;
}

int main()
{
    int i,j,k,t=0;
    int day;
    cin>>day;
    int sumDay = 0;
    //先算到3000年,每年离得天数
    for(i=2010;i<3000;i++)
    {
        //sumDay = 0;不可清零
        bool flag = isRunYear(i);
        if(flag)
            sumDay += 366;
        else
            sumDay += 355;
        myDay[t++] = sumDay;
    }
    for(i=0; i<t;i++)
    {
        if(myDay[i]>day)
            break;
    }
    int year = i+2010;
    //算月份
    int leftDay;
    if(i==0)
        leftDay = day;
    else
        leftDay = day-myDay[i-1];
    bool flag = isRunYear(year);
    int sum = 0;
    if(flag)
        month[1] = 29;
    int monthDay=0;
     int finalDay;
    for(j=0;j<12;j++)
    {
        //感觉这一句比较妙
        sum += month[j];
        //if(leftDay<=sum)
           // break;
        if(leftDay<sum)
        {
            monthDay = j+1;
            //最后加一是因为 1月1日开始不是1月0日
            finalDay = leftDay - (sum-month[j])+1;
            break;
        }
        else //31天的时候应该是2月1号
            if(leftDay==sum)
            {
                monthDay=j+2;
                finalDay = 1;
                break;
            }
    }

    int xingqi = (day+5)%7==0?7:(day+5)%7;
    cout<<"第"<<day<<"天后是:"<<year<<"年"<<monthDay<<"月"<<finalDay<<"号"<<"星期"<<xingqi<<endl;
    system("pause");
    return 0;
}
时间: 2024-10-24 10:45:13

从某一日期开始过day天的日期的相关文章

计算指定日期的前N个月日期

/**     * 计算指定日期的前N个月日期     * @param type $time      * @param int $month_length     * @return date     */    public function calLMP($time,$month_length ){        $r = date('Y-m-d',strtotime('-'.$month_length.'month',strtotime($time)));        list($e

sql 日期问题从周转换到日期

alter procedure p_date@year int=2005,    --年份@week int=33,    --第几周@firstday datetime =null output,  --此周的第一天@endday   datetime =null output   --此周的最后一天asdeclare @currentWeek int,@currentFirstday datetimeselect @currentWeek=datepart(week,getdate()), 

实例365(6)---------DateTime.ToString格式化日期,使用DateDiff方法获取日期时间的间隔数

一:DateTime.ToString格式化日期,截图 二:代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace TmrFormat { public part

日期字符串转换 and 两个日期相减

//创建当前日期 NSDate *date = [NSDate date]; //创建日期格式类 NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init]; //设置日期格式 [dateFormat setDateFormat:@"yyyy/MM/dd HH:mm:ss"]; //获取招聘信息的创建日期 NSDate *createDate =[dateFormat dateFromString:_recruit.creat

设定起始日期,遍历到今天的日期

设定起始日期,遍历到今天的日期(这里指定的是20160615) 1.脚本内容: #!/bin/bash Today=`date +%Y%m%d` for ((aa=20160615;aa<=$Today;aa=`date -d "$aa +1 day" +%Y%m%d`)) do echo $aa done 2.使用实例:(可应用于脚本统计某一段时间的数据时,遍历需要的日期)

mybatis insert 日期类型字段入库,实际日期数据格式有不同

mybatis insert 日期类型字段入库,实际日期数据格式有不同 待入库的实体属性: java.util.Date private Date mxReqTime; 注:入库的实体属性mxReqTime含有"年月日.小时分秒"信息,且"小时分秒"信息不是"00:00:00" 这里假设: mxReqTime=2015-3-9 20:31:34 sqlmap写法: <insert id="insertXxxOrder"

将json格式日期(毫秒数)转成日常日期格式和日常格式时间对比

第一:是把生成的Json格式的时间转换,注意要看清楚时间的格式 function (cellval) { var date = new Date(parseInt(cellval.replace("/Date(", "").replace(")/", ""), 10)); var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1

获得当前输入日期前(后)x天的日期

package com.xcfh.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * * @ClassName: BeforeOrAfterDate * * @Description: 获得当前输入日期前(后)x天的日期 * @author PineTree * @date 2014年12月

Oracle function实现根据输入的日期以及天数,获取此日期之后的天数的工作日

前提:在法定节日表(t_fdjr )中维护法定节日包括周六周天 /** * 功能描述:根据输入的日期以及天数,获取此日期之后的天数的工作日 * 输入参数: * i_date YYYY-MM-DD * i_day 天数 */ create or replace function fun_get_workday(i_date varchar2, i_day number) return varchar2 is k int:=0; d1 date; d2 date; begin k := i_day;

根据条件决定My97DatePicker日期控件弹出的日期格式

代码如下: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>根据条件决定My97DatePicker日期控件弹出的日期格式</title> 6 <link rel="stylesheet" type="text/css" href="css/bootstrap.min.