揮発性のメモ2

最近知った知識を さも昔から知ってた風にメモ書きしていく

PHPで、日時をミリ秒まで出す

2026-08-01 12:34:56.789 というような文字列を作るやつ

<?
// microtime(false) の戻り値は「マイクロ秒 スペース 秒」
list($ms, $s) = explode(" ", microtime());
$d = date("Y-m-d H:i:s.", $s).sprintf("%03d", (int)($ms*1000));
echo $d."\n";


// microtime(true) の戻り値は 実数
$now  = microtime(true);
$sec  = (int)$now;
$msec = (int)(($now - $sec)*1000);
$d = date("Y-m-d H:i:s.",$sec).sprintf("%03d", $msec);
echo $d."\n";


// 実数を文字列で扱う
list($s, $ms) = explode(".", microtime(true));
$d = date("Y-m-d H:i:s.", $s).substr($ms."00", 0, 3);
echo $d."\n";


// DateTimeを使用
$d = (new DateTimeImmutable())->format('Y-m-d H:i:s.v');
echo $d."\n";

// DateTimeを使用2
$d = date_create_immutable()->format('Y-m-d H:i:s.v');
echo $d."\n";

DateTime に v なんてあるの知らなかった

exiftoolで、ファイルの日付を撮影日付にする

Cygwinでexiftoolをインストールするときは、
perl-Image-ExifTool 13.550.0-1
というのを選ぶ。 13.55-1 を選ぶとインストールに失敗する


コマンドは次の通り

exiftool '-FileModifyDate<DateTimeOriginal' *.JPEG

楽天市場で、検索結果からPR商品を非表示にする

漫然と検索しているときは役に立つんだけど、ゴリゴリに検索してる時は超邪魔なので消えてもらう。

ublockで、マイフィルターに次のフィルターを追加する

! 楽天 PR商品
search.rakuten.co.jp##.searchresultitem[data-card-type="cpc"]

これでうまいこと消えた。やったぜ

socatで、受信した電文をとりあえずダンプするツール

$ socat TCP-LISTEN:6000,reuseaddr,fork STDOUT | hexdump -C

socat+xxd や socat+hexdump とかだと、16バイトたまるまでダンプしてくれない。
ので、ダンプツールを適当に書く

$ socat TCP-LISTEN:30000,reuseaddr,fork EXEC:"./myhexdump"
接続 192.168.10.2
13:55:26  30 30 30 30 30 30 30 01 00 00 00 00 00 41 00 00
13:55:26  00 00 00 00 ff ff
切断


myhexdump

#!/usr/bin/perl

print STDERR "接続 $ENV{SOCAT_PEERADDR}\n";

while(sysread(STDIN, my $buf, 16)){
    printf STDERR "%02d:%02d:%02d  ", (localtime)[2,1,0];
    print STDERR join(' ', unpack('(a2)*', unpack('H*', $buf))), "\n";
}

print STDERR "切断\n";

せっかくなので、いらないけど接続元の表示と時刻もつけた

チャッピーに書かせたら 使い捨てだっつってんのに馬鹿みたいに壮大なコードを書いてきたので自分で書くしかなかった