ホームページ > バックエンド開発 > C++ > Windows で strptime() 機能を置き換えるにはどうすればよいですか?

Windows で strptime() 機能を置き換えるにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-14 05:52:12
オリジナル
590 人が閲覧しました

How Can I Replace strptime() Functionality on Windows?

strptime() Windows の代替

strptime()、日付の文字列表現を tm 構造体に変換するために POSIX システムで一般的に使用される関数、Windows には同等の実装がありません。この記事では、Windows で同様の機能を実装するためのソリューションを提案します。

sscanf を使用した実装

Windows で日付を解析するには、sscanf 関数と手動変換を組み合わせます。 tm 構造体を利用できます。段階的な内訳は次のとおりです。

  1. sscanf を使用して日付文字列を解析し、日付コンポーネントを整数に抽出します。
  2. 抽出した整数を tm 構造体にコピーし、確実にデクリメントします。月に 1 を加えて (tm 構造体の月は 0 ~ 11 であるため)、年から 1900 を減算します。 (年は tm 構造体では 1900 年からの年として表されるため)。
  3. mktime を使用して tm 構造体を UTC エポック整数に変換します。

追加の考慮事項

手動で tm 構造体に変換する場合、構造体の isdst メンバーを -1 に設定することを忘れないでください。これにより、夏時間関連の問題が回避されます。

以上がWindows で strptime() 機能を置き換えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート