php 指定した月の翌月を取得する
意外と面倒くさいのよ
echo date('Y-m-01', strtotime('20141203'.'+1 month'));
ただし、これだと3/31の翌月一日が4/1ではなく5/1になることが判明。
3/31 -> 4/31 -> 5/1 と解釈されるらしい。
なので、
$first = date('Y-m-01', strtotime('20150331'));
↑3/31の一日を取得
echo date('Y-m-01', strtotime($first.'+1 month'));
↑それの翌月を取得
とするといいみたい。
意外と面倒くさいのよ。
javascript CSV形式かどうかのチェック
quoteではNOW() とか使えない
こんなような処理が動いている場合、quoteしちゃってるので文字列のNOW()が入ってしまい
エラーになる。正確には「0000-00-00 00:00:00」がはいってしまう。
if ($now) {
$startDate = "NOW()";
} else {
$startDate = "DATE_FORMAT(ADDDATE(CURDATE(), INTERVAL 1 MONTH), '%Y-%m-01')";
}
$sql = sprintf(
"
INSERT INTO table (
start_date ,
)
VALUES (
%s
)"
,$this->_DB->quote($startDate)
);
$this->_DB->query($sql);
なので、こーゆー時は
$this->_DB->quote($startDate)
ではなく
$startDate
でやること。
PEAR オートコミットを禁止する方法
phpでSQLを書く時、オートコミットが有効だと都度アップデートされる。
嫌な場合は、「$db->autoCommit(false)」を記載してからはじめればOK。
そうすることで、「$db->rollback(false)」も動くし、「$db->commit()」でコミットされるようになります。
ちなみに、begin する必要はないらしい。
「$db->autoCommit(false)」をすると自動でスタートするみたいです。
経験則から。
http://pear.php.net/manual/ja/package.database.db.db-common.autocommit.php
【エクセル、スプレッドシート】ファイル名が重複しているものに対して「重複!」と出す方法
今日仕事してたら急にブルースクリーンになって焦った。
netbeansって、たまにPCごと落とすよね?違う理由なのかな?
それはされおき。
以下の画像のように、
・ 「本番反映」列が「未」の中で、ファイル名が重複しているものに対して「重複?」列に「重複!」と出す
・ 「本番反映」列が「済」のものは、いくら重複していても「重複?」列に何も出さない
を実現するには
=IF(AND(A2="未",COUNTIFS(A:A,"未",B:B,B2)>1),"重複","")
このように書きます。
エクセルで実現可能。
スプレッドシートは、新しいバージョンのものなら可能。
古いものはCOUNTIFSが使えない。
今以降新規でファイルを作った場合、勝手に新しいバージョンになります。
ちなみに新しいバージョンのスプレッドシートは右下にチェックがつきます。
マクロ勉強しようかなぁ。
▼参考(ありがとうチエリアン!)
Zendframework 自動Viewの設定を手動で変更する
以下のphpファイルにこんな関数があったとして。
/controllers/RegisterController.php
function successAction() {
try {
//ここは、自動で/views/scripts/register/success.html を参照する
} catch( Exception $e ) {
//これで、/views/scripts/register/error.html を参照するように出来る
$this->render('error');
}
}
▼[PHP]Zend で自動レンダリングモードがオンの場合の、View スクリプトの切り替え手法。まとめ。
http://en.yummy.stripper.jp/?eid=1153909