strptime() Windows 用
strptime() は、テキスト文字列を tm 構造に解析するために一般的に使用される POSIX 関数です。残念ながら、この関数は Windows では使用できません。
代替実装
Windows 用の strptime() の同等の優れた実装をお探しの場合は、ここに解決策があります。 sscanf、struct tm、および mktime を利用する関数:
夏時間の問題を避けるために、構造体 tm の isdst メンバーを -1 に設定することを忘れないでください。
例
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { char *date_str = "MM-DD-YYYY HH:MM:SS"; struct tm tm; sscanf(date_str, "%d-%d-%d %d:%d:%d", &tm.tm_mon, &tm.tm_mday, &tm.tm_year, &tm.tm_hour, &tm.tm_min, &tm.tm_sec); tm.tm_mon -= 1; // Adjust for zero-indexing tm.tm_year -= 1900; // Adjust for 1900 starting year time_t epoch = mktime(&tm); printf("Epoch: %ld\n", epoch); return 0; }
以上がWindows で strptime() 機能を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。