C++17でファイルのタイムスタンプを取得する

c++17においてstd::filesystemが追加され、boostに頼らなくてもよくなったので使ってみた。boost::filesystemはコンパイルが必要なので、標準になったのはいいものの糞仕様にはまったので、メモ。
環境はMicrosoft Visual Studio Community 2019 Version 16.7.5

  • utils.h
#pragma once

#include <chrono>
#include <filesystem>
#include <string>

// std::filesystem::file_time_typeのtime_since_epoch()を調整するバイアス。
extern const std::chrono::system_clock::time_point gEpochTimeBias;
std::string timestamp(const std::filesystem::path& path, const std::string& fmt = "%Y-%m-%d %H:%M:%S");
  • utils.cpp
#include <sstream>

#include "utils.h"

using namespace std;

// std::filesystem::file_time_typeのtime_since_epoch()が369年ずれるので、調整するバイアス。
// c++20になれば解決しているといいね。
const chrono::system_clock::time_point gEpochTimeBias = chrono::time_point_cast<chrono::system_clock::duration>(
	chrono::system_clock::now() - filesystem::file_time_type::clock::now().time_since_epoch());

string timestamp(const filesystem::path& path, const string& fmt)
{
	filesystem::file_time_type time_ftt = filesystem::last_write_time(path);
	chrono::time_point sctp = chrono::time_point_cast<chrono::system_clock::duration>(time_ftt.time_since_epoch() + gEpochTimeBias);
	const time_t time_tt = chrono::system_clock::to_time_t(sctp);

	struct tm time_tm;
	localtime_s(&time_tm, &time_tt);

	stringstream ss;
	ss << put_time(&time_tm, fmt.c_str());

	return ss.str();
}
  • main.cpp
#include <iostream>

#include "utils.h"

using namespace std;

int main()
{
	string path = "utils.h";
	string time_tm = timestamp(path);
	cout <<  time_tm << endl;
}

はてなダイアリーから引っ越すと使いにくくなったので、放置に戻りそう。

買付(楽天)

code 銘柄 数量 買値 終値 手数料 税金 備考
6367 ダイキン工業 100 11725 0 0
9433 KDDI 100 2687.5 0 0
6471 日本精工 100 1028 0 0
5015 ビーピー・カストロール 100 1216.5 0 0
6954 ファナック 100 18170 0 0
6954 ファナック 100 18135 0 0
8035 東京エレクトロン 100 14970 0 0
8035 東京エレクトロン 100 14970 0 0
7203 トヨタ自動車 100 6627 0 0
7203 トヨタ自動車 300 6627 0 0
7203 トヨタ自動車 100 6627 0 0

売付(楽天)

code 銘柄 数量 買値 売値 手数料 税金 備考
7751 キヤノン 100 3084 0 0
5019 出光興産 100 3740 0 0
6367 ダイキン工業 100 11770 0 0
5411 JFEホールディングス 100 1882.5 0 0
5411 JFEホールディングス 100 1882.5 0 0
6301 小松製作所 100 2712 0 0
6954 ファナック 100 18105 0 0
3549 クスリのアオキHLDGS 100 7030 0 0
4042 東ソー 100 1524.4 0 0
6954 ファナック 100 18000 0 0
8035 東京エレクトロン 200 14920 0 0
7203 トヨタ自動車 500 6633 0 0

買付(SBI)

code 銘柄 数量 買値 終値 手数料 税金 備考

売付(SBI)

code 銘柄 数量 買値 売値 手数料 税金 備考

感想

-119964/-4194

通算の収支

期間 確定 含み 備考
前日まで -125812 14043
本日 5848 -18273
本日まで -119964 -4194

本日の収支

講座 確定 含み 手数料 合計
楽天 1950 -2064 -4320 -4434
SBI 3898 -2130 -534 1234
合計 5848 -4194 -4854 -3200

買付(楽天)

code 銘柄 数量 買値 終値 手数料 税金 備考
6301 小松製作所 100 2882.5 2841 0 0 2866/2903/8
6367 ダイキン工業 100 11860 11695 0 0
3549 クスリのアオキHLDGS 100 7018 7030 0 0
6301 小松製作所 100 2845.5 2841 0 0
7751 キヤノン 100 3127 3133 0 0
5411 JFEホールディングス 100 1871.5 1870 0 0 1870/1890/4
4042 東ソー 100 1534.8 1529 0 0
5019 出光興産 100 3795 3790 0 0

売付(楽天)

code 銘柄 数量 買値 売値 手数料 税金 備考
6471 日本精工 100 1020.3 1066 0 0 1000/1072/7
6367 ダイキン工業 100 11860 11831 0 0
9743 丹青社 100 1103.8 1139 0 0 1115/1140/3
6301 小松製作所 100 2864 2835.5 0 0

買付(SBI)

code 銘柄 数量 買値 終値 手数料 税金 備考
8306 三菱ケミカルHDG 100 928.9 925.9 0 0
6932 遠藤照明 100 726 724 432 0
2930 北の達人 100 410 412 0 0

売付(SBI)

code 銘柄 数量 買値 売値 手数料 税金 備考
6932 遠藤照明 100 716.7 733 102 0 726で買い戻し
7847 グラファイトD 100 508 535 0 0

感想

-125812/14043

通算の収支

期間 確定 含み 備考
前日まで -148707 -8436
本日 22895 22479
本日まで -125812 14043

本日の収支

講座 確定 含み 手数料 合計
楽天 21697 9913 -3240 28370
SBI 1198 4100 -463 4835
合計 22895 14043 -3703 33235

買付(楽天)

code 銘柄 数量 買値 終値 手数料 税金 備考
5411 JFEホールディングス 100 1870.5 1902.5 0 0
4078 堺化学 100 2125 2157 0 0
7741 HOYA 100 6265 6202 0 0
9110 NSユナイテッド海運 100 2945 2921 0 0
2531 宝ホールディングス 100 1315 1313 0 0

売付(楽天)

code 銘柄 数量 買値 売値 手数料 税金 備考
6471 日本精工 100 1020.3 1051.4 0 0
4078 堺化学 100 2125 2146 0 0
7741 HOYA 100 6265 6272 0 0
9743 丹青社 100 1103.8 1140 0 0
9743 丹青社 100 1103.8 1142 0 0
9743 丹青社 100 1103.8 1147.4 0 0
9743 丹青社 100 1103.8 1147 0 0
9110 NSユナイテッド海運 100 2945 2921 0 0
2531 宝ホールディングス 100 1315 1313 0 0
9743 丹青社 100 1103.8 1135 0 0

買付(SBI)

code 銘柄 数量 買値 終値 手数料 税金 備考
4188 三菱ケミカルHDG 100 937.8 939 191 15
7847 グラファイトD 100 519 523 143 12

売付(SBI)

code 銘柄 数量 買値 売値 手数料 税金 備考
6932 遠藤照明 100 712 726 95 7

感想

  • 丹青社の権利付き最終日が月曜日だったので、前日に淡々と売りに出す。
  • 昼休みに買った宝ホールディングとユナイテッド海運は大引不成にしたかったので、逆指値つきではなく通常の売りを入れたけど、間違いくさい。
  • 終わったことに文句は言うまいと思っていたが、昨日微妙だったと書いてた日本電産が今日+705(5.71%)とか見ると愚痴りたくなるわw

-157117/19833

通算の収支

期間 確定 含み 備考
前日まで -148707 -8436
本日 -8409 -28269
本日まで -157117 19833

本日の収支

講座 確定 含み 手数料 合計
楽天 -10153 17933 -4320 3460
SBI 1744 1900 -206 3352
合計 -8409 19833 -4526 6904

買付(楽天)

code 銘柄 数量 買値 終値 手数料 税金 備考
5019 出光興産 100 3739 3800 0 0

売付(楽天)

code 銘柄 数量 買値 売値 手数料 税金 備考
6594 日本電産 100 12215 12220 0 0 11970/12265/50
4452 花王 100 7593 7440 0 0 7441/7678/35
5019 出光興産 100 3739 3775 0 0 3685/3780/20
5108 ブリヂストン 100 4175 4181 0 0 4092/4190/15
5967 TONE 100 2586 2623 0 0

売付(SBI)

code 銘柄 数量 買値 売値 手数料 税金 備考
4188 三菱ケミカルHDG 100 901 922.5 191 15

感想

  • 楽天アルゴリズム注文のトレイルを使ってみたところ、日本電産の売りのタイミングがひどかった。一方、出光はいい感じに売ってくれたので、うまく使っていきたい。
  • 同様にスナイプ注文とリザーブ注文を使ってみたところ、資金が拘束されないというすばらしい(?)仕様になっていることに気が付いた。これなら信用取引はいらないんじゃなかろうかと思った。
  • 毎日楽天に払っている手数料が高いなーと思う。

-148707/-8436

通算の収支

期間 確定 含み 備考
前日まで -94647 17326
本日 -54060 -25762
本日まで -148707 -8436

本日の収支

講座 確定 含み 手数料 合計
楽天 -54060 -7606 -6480 -68146
SBI 0 -830 -308 292
合計 -54060 -8436 -6788 -69284

買付(楽天)

code 銘柄 数量 買値 終値 手数料 税金 備考
6471 日本精工 100 1020 1038 0 0
9743 丹青社 100 1091 1106 0 0
7270 SUBARU 100 2450 2469.5 0 0
7270 SUBARU 100 2395.5 2469.5 0 0
5108 ブリヂストン 100 4175 4195 0 0
6594 日本電産 100 12215 12215 0 0

売付(楽天)

code 銘柄 数量 買値 売値 手数料 税金 備考
3549 クスリのアオキHLDGS 100 6910 6780 0 0
6737 EIZO 100 4050 3925 0 0
6954 ファナック 100 18085 17860 0 0
7270 SUBARU 100 2450 2425.5 0 0
7270 SUBARU 100 2395.5 2393.5 0 0

買付(SBI)

code 銘柄 数量 買値 終値 手数料 税金 備考
4188 三菱ケミカルHDG 100 901 913.7 95 7
7847 グラファイトD 100 497 501 191 15
  • 昨日マイナス10万きって喜んだらこれかよ・・・。

-94647/17326

通算の収支

期間 確定 含み 備考
前日まで -111435 14914
本日 16788 2412
本日まで -94647 17326

本日の収支

講座 確定 含み 手数料 合計
楽天 16788 17326 -6480 27634
SBI 0 600 -308 292
合計 16788 17926 -6788 27926

買付

code 銘柄 数量 買値 終値 手数料 税金 備考
3549 クスリのアオキHLDGS 100 6910 6910 0 0
9743 丹青社 100 1128 1119 0 0
6737 EIZO 100 4050 4045 0 0
4452 花王 100 7593 7601 0 0
6954 ファナック 100 18085 18185 0 0
5967 TONE 100 2586 2586 0 0
6932 遠藤照明 100 708 715 95 7
2930 北の達人 200 418 418 191 15

売付

code 銘柄 数量 買値 売値 手数料 税金 備考
6367 ダイキン工業 100 11835 12075 0 0
6301 小松製作所 100 2731.5 0 0