スキップしてメイン コンテンツに移動

PHP上で扱う時間の覚え書き

文字列時間を連想配列として取得

$arry = strptime("2011-07-13 01:41:43", "%Y-%m-%d %H:%M:%S");
echo "<pre>";
print_r($arry);
echo "</pre>";


出力結果



Array
(
[tm_sec] => 43
[tm_min] => 41
[tm_hour] => 1
[tm_mday] => 13
[tm_mon] => 6
[tm_year] => 111
[tm_wday] => 3
[tm_yday] => 193
[unparsed] =>
)


ただし、そのまま連想配列として表示しているのではなく、tm_monは-1ヶ月、tm_yearは-1900年されて表示されている。





指定した時間をUNIXタイムとして取得



//2011-07-13 01:41:43
$unixtime = mktime(
1, // 時間
41, // 分
43, // 秒
7, // 月
13, // 日
2011); // 年

echo $unixtime;


もしくは、



$unixtime = strtotime("2011-07-13 01:41:43");


出力結果



1310488903




UNIXタイムを指定の書式で取得



echo strftime("%Y/%m/%d", $unixtime)."<BR>";
echo strftime("%H:%M:%S", $unixtime);


出力結果



2011/07/13
01:41:43




UNIXタイムで現在時刻との差分



$dif = time() - $unixtime;
// 基準は1970-01-01 00:00:00からの経過時刻
echo gmdate('Y年m月d日 H:i:s', $dif);
echo "<BR>";
// 別に24時間以内であれば、そのままストップウォッチのような
// 経過時間としてカウントできる
echo gmdate('H:i:s', $dif);


出力結果



1970年01月09日 08:44:11
08:44:11

コメント

このブログの人気の投稿

GolangでWindows GUIアプリケーション

GUIアプリ作成の前提 社内ツールとしてexeで配布 開発環境はGoLandを使う 社内ツールとしてexeを配布ということであれば、Visual StudioでC#による開発だと思います。しかしながら、Go言語を習得したいのと、GoLandの補完機能が便利で、Android Studio使っていたこともあり、とっつきやすいという点からGo縛りでGUIアプリケーションを考えたいと思います。 lxn/walk Windows application library kit for Go. Windows向けしか考えていないので、まずこのライブラリなのですが、ボタンやコンボボックスが思ったように並ばなかったり、手軽にイメージボタンを配置したりなど、簡単にレイアウトを変更できない課題に直面しました。レイアウト作成だけで時間を取られてしまいます。そう言えば、Androidアプリ開発のときは、XMLでデザイン部分を切り離してたのを思い出して、今回の調査の運びとなりました。 fyne-io/fyne Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android. walkと比べると、クロスプラットフォームで作成できるのですが、こちらもコードの中にデザインを書いていく形でした。 therecipe/qt therecipe/qt allows you to write Qt applications entirely in Go or JavaScript. Qt Creatorなるものがあるようで、デザイン部分を切り離せる印象はあるものの、最新のPCでもビルドに時間がかかるようで、学習コストもかかるという記事を見かけて断念しました。 どうしたものかとツイートしましたら、下記のようにご助言をいただいた。 同じ課題に対し色々試した結果、PWAのフルキャッシュドに落ち着いた。中身はGo+WASMで。 https://t.co/e60whDTV16 — のぼのぼ📡 (@nobonobo) July 21, 2020 PWA 早速調べてみました。Googleが進めているプロジェクトで、ネイティブアプリのよ

Eclipseで一通り基本的なGitを使ってみる

備忘録的にまとめておきたいと思います。おかしな点があればご指摘いただければ幸いです。 目次 環境 プロジェクト作成~初コミットまで コミットの履歴&差分を見る 元に戻す ブランチについて ブランチを作成してみる ブランチを統合するには マージする Rebaseする ローカルリポジトリからプロジェクトを取り込む コミットしたメッセージの修正 環境 Eclipse IDE for Java Developers:Juno Service Release 1 Git:上記Eclipseのプリインストール版

Javaでprivateなfieldやmethodにアクセスする

JUnitでテストしてると、privateなフィールドにアクセスして、値を参照したりセットしたりしたくなるわけですが、よく使うのでメモしておきます。 例えば、次のような対象のクラスがあるとします。 public class ParentClass { private String hoge = "ParentClass!!"; public void dispMsg() { System.out.println("dispMsg:" + hoge); } private void privateDispMsg(String msg) { System.out.println("dispMsg:" + msg); } }