タイムゾーンに頭を悩ませたけれど
筋トレ応援団の筋トレ履歴データをPostgreSQLに格納するのですが、将来的には
グローバルで使われることを考慮してどのように
格納すればいいのか割と真面目に考えたつもり。
DBはタイムゾーン付きのtimestampを使用する
CREATE TABLEでtimestamp with time zoneタイプで定義した。
あとは、insert文でcurrent_timestampを使うだけ。日本時間で保存されることになる。
今月の筋トレ回数を求める検索
クライアントのタイムゾーンで検索してあげればいい。将来的にはAsia/Tokyoを可変にすればいいのではないか。
PostgreSQLにタイムゾーンの変換を委譲しちゃう感じです。
var moment = require('moment-timezone');
var today = new moment().tz('Asia/Tokyo');
var firstDay = new moment({year : today.year(), month: today.month(), day: 1}).tz('Asia/Tokyo').format();
var lastDay = new moment({year : today.year(), month: today.month()+ 1, day: 0}).tz('Asia/Tokyo').format();
SQLでfirstDay,lastDayの範囲指定で検索する。lastDayの00:00:00も含まれてしまうけれど!!
まぁいいか。
もっと簡潔に書ける
今月の範囲
var moment = require('moment-timezone');
var firstDay = new moment().startOf('month').tz('Asia/Tokyo').format();
var lastDay = new moment().endOf('month').tz('Asia/Tokyo').format();
今日の範囲
var moment = require('moment-timezone');
var firstDay = new moment().startOf('day').tz('Asia/Tokyo').format();
var lastDay = new moment().endOf('day').tz('Asia/Tokyo').format();
今週の範囲
var moment = require('moment-timezone');
var firstDay = new moment().startOf('week').tz('Asia/Tokyo').format();
var lastDay = new moment().endOf('week').tz('Asia/Tokyo').format();
まじかい、便利すぎじゃろ。
タイムスタンプの格納と検索について
筋トレ応援団の筋トレ履歴データをPostgreSQLに格納するのですが、将来的には
グローバルで使われることを考慮してどのように
格納すればいいのか割と真面目に考えたつもり。
DBはタイムゾーン付きのtimestampを使用する
CREATE TABLEでtimestamp with time zoneタイプで定義した。
あとは、insert文でcurrent_timestampを使うだけ。日本時間で保存されることになる。
今月の筋トレ回数を求める検索
クライアントのタイムゾーンで検索してあげればいい。将来的にはAsia/Tokyoを可変にすればいいのではないか。
PostgreSQLにタイムゾーンの変換を委譲しちゃう感じ。
var moment = require('moment-timezone');
var today = new moment().tz('Asia/Tokyo');
var firstDay = new moment({year : today.year(), month: today.month(), day: 1}).tz('Asia/Tokyo').format();
var lastDay = new moment({year : today.year(), month: today.month()+ 1, day: 0}).tz('Asia/Tokyo').format();
postgresql リモートアクセス
MP3ファイルが1秒ぴったりにならない
sox input.mp3 output.mp3 trim 0 1 soxi output.mp3
どうやっても1.04秒のファイルしかできない。おかしいと思っていたら。。
http://www.manbou2ndclass.net/2016/02/mp3.html
どうやら、そういうものらしい。
wavで出力すると
sox input.mp3 output.wav trim 0 1 soxi output.wav
1秒ぴったりできた!
スマートスピーカーアプリのBGMをなんとかしたい
アプリのBGMをなんとかしたい。
クラウドワークスに発注したけれど、結構お金がかかりそうな予感。五千円以上。
クオリティ高いものはできるかもだけど。
ロイヤリティフリーというキーワードで探していけば良さそうだ。
drums.kirakira-soundeffect.com