Пример #1
0
static void weekofyear(int year,int month,int day,
                int *rtn_year,int *rtn_week,int *rtn_day)
  {
  int firstday=dayofweek(year,0,0);
  int doy=dayofyear(year,month,day);
  if(firstday>=5)
    {
    firstday-=7;
    if(firstday+doy<0)
      {
      weekofyear(year-1,12-1,31-1,
                 rtn_year,rtn_week,rtn_day);
      *rtn_day+=doy+1;
      return;
      }
    }
  if(firstday!=4 && (firstday+doy)/7>=52)
    {
    *rtn_year=year+1;
    *rtn_week=0;
    *rtn_day=(firstday+doy)-52*7;
    }
  else
    {
    *rtn_year = year;
    *rtn_week = (firstday+doy)/7;
    *rtn_day = (firstday+doy)%7;
    }
  }
Пример #2
0
int main(int argc, const char *argv[])
{
    int y, m, d;
    
    printf("Please input y:m:d\n");
    scanf("%d:%d:%d", &y, &m, &d);
    printf("%d:%d is %d of year %d!\n", m, d, dayofyear(y, m, d), y);
    return 0;
}
Пример #3
0
Файл: day.c Проект: xuwenbo/KR
int
main(void)
{
    int iyear, imonth, idate;
    int idays;

    getinput(&iyear, &imonth, &idate);

    idays = dayofyear(iyear, imonth, idate);

    output(idays);

    return 0;
}
Пример #4
0
static int dayofweek(int year,int month,int day)
  {
  int dow=0;
  int x;
  if(year<1899)
    {
    fprintf(stderr,"Sorry, day of week function is broken for year before 1899\n");
    exit(-1);
    }
  /* Jan 1, 1899 is a sunday */
  for(x=1899;x!=year;++x)
    if(isleapyear(x)) dow+=2;
    else dow+=1;
  dow+=dayofyear(year,month,day);
  return dow%7;
  }
int ex5_8(){

  int year, month, day;
  year = 2013;
  month = 4;
  day = 14;

  int numberofdays = dayofyear(year, month, day);
  if(numberofdays > 0){
    printf("\nThere have been %d days since the start of the year.\n", numberofdays);

    int monthforp = 0;
    int dayforp = 0;

    monthday(year, numberofdays, &monthforp, &dayforp);

    printf("\nYou gave me the year %d, so that means its the %d month and %d day.\n", year, monthforp, dayforp);
  }

  return 0;
}