English 中文(简体)
• 如何将日记改为日记结构
原标题:how to convert a date string to tm_wday in tm structure
  • 时间:2010-08-02 09:52:32
  •  标签:
  • c

我有象“2010-03-01”这样的日期说明格式,我希望得到像星期一一样的“tm_wday”。

难道有人会问我如何在c中做到这一点?

问题回答

strptime( 职能:

char *strptime(const char *s, const char *format, struct tm *tm); 

The strptime() function is the converse function to strftime(3) and converts the character string pointed to by s to values which are stored in the tm structure pointed to by tm, using the format specified by format.

使用<代码>mktime()计算周日。

#include <memory.h>
#include <stdio.h>
#include <time.h>

int main(void) {
  const char *p = "2010-03-01";
  struct tm t;
  memset(&t, 0, sizeof t);  // set all fields to 0
  if (3 != sscanf(p,"%d-%d-%d", &t.tm_year, &t.tm_mon, &t.tm_mday)) {
    ; // handle error;
  }
  // Adjust to struct tm references
  t.tm_year -= 1900;
  t.tm_mon--;
  // Calling mktime will set the value of tm_wday
  if (mktime(&t) < 0) {
    ; // handle error;
  }
  printf("DOW(%s):%d (0=Sunday, 1=Monday, ...)
", p, t.tm_wday);
  // DOW(2010-03-01):1 (0=Sunday, 1=Monday, ...)
  return 0;
}




相关问题
Fastest method for running a binary search on a file in C?

For example, let s say I want to find a particular word or number in a file. The contents are in sorted order (obviously). Since I want to run a binary search on the file, it seems like a real waste ...

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

Tips for debugging a made-for-linux application on windows?

I m trying to find the source of a bug I have found in an open-source application. I have managed to get a build up and running on my Windows machine, but I m having trouble finding the spot in the ...

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

Good, free, easy-to-use C graphics libraries? [closed]

I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...

Encoding, decoding an integer to a char array

Please note that this is not homework and i did search before starting this new thread. I got Store an int in a char array? I was looking for an answer but didn t get any satisfactory answer in the ...

热门标签