投稿者「後藤 祐一」のアーカイブ

後藤 祐一 について

フリーランスとしてWebプログラミングを行っています。 宜しくお願いします。

PHP 時間の差分を求める

日付を除外して時間のみを求める方法がなかったのでまとめ

<?php

$from_h = '8'; // 08でも可
$from_m = '10';
$to_h = '17';
$to_m = '00';

echo sectostr(strtosec($to_h, $to_m) - strtosec($from_h, $from_m));
// 08:50と表示されます

function sectostr($val) {
    return sprintf("%02d:%02d", $val / 3600, ($val % 3600) / 60);
}

function strtosec($h, $m) {
    return $h * 3600 + $m * 60;
}

時間と分を秒に直して差分を出しています。
秒に直すのでstrtotimeやnew DateTimeにて比較しなくてもいいです。
strtotimeとnew DateTimeは日付ありきでの比較になるので時間のみの差分を出すときややこしいです。
下記一例

<?php

echo date('Y/m/d H:i', strtotime('17:00') - strtotime('8:10'));
// 1970/01/01 09:50と表示

strtotimeだと日付の引き算がされ時間のみの差分が出せません。
強引にやるならこう

<?php

echo date('Y/m/d H:i', strtotime('17:00') - strtotime('8:10') + strtotime(date('Y/m/d')));
// 2021/08/14 08:50と表示

引き算された日付を最後に足して日付のつじつまを合わせていますが、このコードは休憩時間を除いたりするときに日付のことを常に考えなくてはならずややこしすぎて使えません。

XAMPP Xdebug3 Eclipse 設定

Xdebugが2から3にアップグレードしていて動かなかったのでまとめ

下記コードがXdebug2のphp.iniの設定

xdebug.remote_enable=1
xdebug.default_enable=0
xdebug.profiler_enable=0
xdebug.auto_trace=0
xdebug.coverage_enable=0

上記コードがXdebug3では使えなくなって、次のように書く

[XDebug]
zend_extension = "C:\xampp\php\ext\php_xdebug-3.0.4-8.0-vs16-x86_64.dll"
xdebug.mode=debug

ポートも9000から9003に変更になってたのでEclipseのデバッグの構成

Xdebug

WordPress ウィジットの大文字を小文字にする

外観->テーマエディター->style.css

/* Small headers */
.archive-title,
.page-title,
.widget-title,
.entry-content th,
.comment-content th {
	font-size: 11px;
	font-size: 0.785714286rem;
	line-height: 2.181818182;
	font-weight: bold;
     /*	text-transform: uppercase;*/
	color: #636363;
}

text-transformで大文字指定しているのでコメントアウトすると小文字の英字が使えるようになります。
1行だけコメントアウトするのは気になるという神経質な方はパラメータにnoneを指定すると上記コメントアウトと同じ結果になります。

    text-transform: none;

CSS 印刷禁止 解除

印刷禁止のサイトを印刷する方法についてのまとめ

CSSで禁止している場合

Ctrl + Uでソースコードの表示やChromeの開発者ツールをF12で起動してmain.cssやdefault.cssやcommon.css的な名前のCSSファイルを探し出し以下の@media printの記載がある箇所をコメントアウトします。

/*
@media print {
    * {
        display: none;
        opacity: 0;
        background: #fff;
    }

    img {
        display: none;
        opacity: 0;
        background: #fff;
    }
}
*/

@media printの記載があるファイル名は経験と勘で探し出してください。
どうしても印刷したいサイトがある場合はすべてのCSSファイルを開き@media printを探し出しコメントアウトします。

Javascriptで禁止している場合

身もふたもない話ですがブラウザでJavascript自体を無効にして印刷します。

Chromeの場合
設定(S)->プライバシーとセキュリティのサイトの設定->JavascriptをOFFにします。

Chrome以外もJavascriptを無効にする機能を有していますので簡単に無効にできます。
この方法を利用すれば右クリック禁止やコピー禁止サイトも右クリックとコピーができるようになります。

Winodws10 HomeでAdministratorを有効にする

Windows10 HomeではGUIからAdministratorを有効にすることはできません。
コマンドから設定します。

⊞ Win + XでWindows PowerShell(管理者)(A)を起動
Administrator を有効にする

net user administrator /active:yes

Administrator を無効にする

net user administrator /active:no

確認

net user administrator

Windows10 Proの場合GUIでも上記コマンドでもAdministratorを有効に設定できます。