BitTorrent SyncでMacのiTunesライブラリをAndroidに同期する
目的と条件
BitTrrent Syncを使う
BitTorrent Sync Beta
http://getsync.com/
これを使う理由は、
Macの設定
- BitTorrent Syncをインストール
- iTunesライブラリ内のMusicフォルダ同期設定する
- QRコードを表示する
Androidの設定
- BitTorrent Syncをインストール
- QRコードを読み込む
PHPでUnixタイムスタンプを使わないで日時を比較する
前回はUnixタイムスタンプを使いましたが、2038年問題があるので使わないほうがいいらしいです。DateTimeクラスだけでUnixタイムスタンプを使わないで日時を比較する書き方にします。
diffメソッドを使う
PHP: DateTime::diff - Manual
http://php.net/manual/ja/datetime.diff.php
DateIntervalオブジェクト を返すので、formatメソッドで分単位で比較できるように整形します。書き方を間違えなければマイナス値にはならないので下の書き方でいいかも。
<?php $dt1 = new DateTime('2013-08-01 11:55'); $dt2 = new DateTime('2013-08-01 11:50'); $diff = $dt2->diff($dt1); $diffMin = $diff->format('%r%d%h%i'); if ($diffMin >= 0 && $diffMin <= 5) { echo '5分以内です'; } else { echo '5分以内じゃないです'; } <?php $dt1 = new DateTime(); // 現在日時 $dt2 = new DateTime('2013-08-01 11:50'); $diff = $dt2->diff($dt1); $diffMin = $diff->format('%d%h%i'); if ($diffMin <= 5) { echo '5分以内です'; }
PHPでTwitter APIで取得した日時と現在日時を比較する
やりたいこと
- Sat Jul 27 23:51:57 +0000 2013
- これと現在日時を比較したい
- 処理しやすいようにUnixタイムスタンプに変換する
最初はクラスと関数を混ぜて書いてみたけど、クラスだけ、関数だけで書けるようなのでやってみた。
[php]
<?php
// DateTimeクラスで書く
$dt1 = new DateTime(); // 現在日時
$dt2 = new DateTime('Sat Jul 27 23:51:57 +0000 2013');
echo $dt1->format('U') - $dt2->getTimestamp();
[/php]
[php]
<?php
// 関数で書く
$dt3 = time(); // 現在日時
$dt4 = strtotime('Sat Jul 27 23:51:57 +0000 2013');
echo $dt3 - $dt4;
[/php]
実行結果はどちらも同じです。関数を使ったほうが短くかけるけど、クラスを使ったほうがあとで見直すときに何をやっているかわかりやすいのかもしれない。
format('U')とgetTimestamp()は同じ処理だけど後者のほうがわかりやすい。
Macのメモ.appがすぐ強制終了する問題と解決方法
メモ.appでフォルダの削除など整理をしていたらアプリが強制終了し、以下のような状態になってしまいました。
- メモ.appを起動して数秒で強制終了する
- iCloudの環境設定でメモの同期をオフにしたらメモ.appは起動する
- メモの同期をオンにすると環境設定が強制終了する
解決方法は下記の投稿が参考になりました。
メモ.appがよきせぬ理由で強制終了して...: Apple サポートコミュニティ
https://discussionsjapan.apple.com/message/100697716#100697716
解決方法
- Mail.appを起動し、iCloudアカウントを同期する
- iCloudの環境設定でメモの同期をオンにできるようになる
- メモ.appも正常に動作するようになる
解決はしましたがメモ.appに不満もあったし、Apple囲い込みから抜け出すために別のメモアプリに乗り換えます。