STUDY WITH ME / Reskilling

セキュリティでは、ゼロトラスト/マイクロセグメンテーション について情報を収集しています。 企業の活動では脱炭素経営について情報を収集しています。 インフラ設計・構築、ハードウェア選定から、アプリ、Javaチューニング、使えるDX、などITコンサルティング業務を会社員として従事しています。   また、脳内から零れ落ちているナレッジ(確認の意味で検索、ど忘れして検索、脳内のバージョンアップ、最新情報へのアップデート)をまとめています。(主に、運用系ツール、開発Java, C++, C#, Python, Swift など)

C#,C++,Python で日時文字列が20230530180529 の場合にYYYY/MM/DD HH:MM:SS に変換

Table of contents
💬 Answer
C#、C++、Python それぞれで、日時文字列が 20230530180529 の場合に YYYY/MM/DD HH:MM:SS に変換するソースコードです。
C#

指定された形式の日時文字列を変換するために、C#の DateTime.ParseExact メソッドを利用します。このメソッドは特定の形式の日付/時刻文字列を DateTime オブジェクトに変換するためのものです。その DateTime オブジェクトを所望の形式の文字列に再変換します。

以下に具体的なコードを示します:

using System;

class Program
{
    static void Main()
    {
        string dateString = "20230530180529";
        DateTime date = DateTime.ParseExact(dateString, "yyyyMMddHHmmss", System.Globalization.CultureInfo.InvariantCulture);
        string newDateString = date.ToString("yyyy/MM/dd HH:mm:ss");
        Console.WriteLine(newDateString); // Outputs: 2023/05/30 18:05:29
    }
}

この例ではまず、元の日時文字列を DateTime.ParseExact メソッドで DateTime オブジェクトに変換しています。このメソッドの第2引数には元の日付/時刻文字列の形式を指定します。次に、 DateTime.ToString メソッドを使ってその DateTime オブジェクトを所望の形式の文字列に変換しています。

C++

以下に、C++で同様の処理を行うためのコードを示します:

#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>

int main() {
    std::string date_string = "20230530180529";
    std::stringstream ss(date_string);
    std::tm t = {};
    ss >> std::get_time(&t, "%Y%m%d%H%M%S");
    std::stringstream new_ss;
    new_ss << std::put_time(&t, "%Y/%m/%d %H:%M:%S");
    std::string new_date_string = new_ss.str();
    std::cout << new_date_string << std::endl; // Outputs: 2023/05/30 18:05:29
    return 0;
}

この例でもまず、元の日時文字列を std::get_time メソッドで std::tm オブジェクトに変換しています。このメソッドの第2引数には元の日付/時刻文字列の形式を指定します。次に、 std::put_time メソッドを使ってその std::tm オブジェクトを所望の形式の文字列に変換しています。

Python

以下は Python での実装例です。

from datetime import datetime

date_string = "20230530180529"
date = datetime.strptime(date_string, "%Y%m%d%H%M%S")
new_date_string = datetime.strftime(date, "%Y/%m/%d %H:%M:%S")
print(new_date_string) # Outputs: 2023/05/30 18:05:29

datetime.strptime() メソッドを使って、日時文字列を datetime オブジェクトに変換しています。第2引数には、元の日付/時刻文字列の形式を指定します。この例では、 %Y は4桁の年、 %m は2桁の月、 %d は2桁の日、 %H は24時間表記の時間、 %M は分、 %S は秒を表します。変換した datetime オブジェクトを datetime.strftime() メソッドを使って、所望の形式の文字列に変換しています。最後に print() で変換した文字列を出力しています。

以上が、日時文字列を YYYY/MM/DD HH:MM:SS に変換するための C#、C++、Python の実装例です。

0