[PHP]とりあえず使いたい人向けの PHP::DateTime 例文集

DateTimeクラスが便利そうなのは分かるけど、お作法がめんどくさそうなのでとりあえずdate関数を使っちゃってる方に向けて贈る、思考停止していてもコピペすれば使える例文集です。

まさに俺得記事。

一応リファレンスがないのはアレなので貼っておきます。時間があったらちゃんと読んだほうがいいですよ><
http://www.php.net/manual/ja/class.datetime.php

1. 基本形(現在時刻出力)

format()メソッドで時刻を出力。引数に時刻の書式文字列を入力して、好みの書式で出力します。

「DateTime::ATOM」や「DateTime::ISO8601」のように、予め定義された定数を引数に渡しても出力してくれます。

定数以外で書式を作りたいときはdate関数のページを参照するとよろし。
http://jp2.php.net/manual/ja/function.date.php

2. 時間を指定して出力

コンストラクタの引数に直接時刻を入力するか、setDateメソッド、setTimeメソッドを使用して時刻を指定します。

コンストラクタが時刻として認識してくれるパターンは、こちらのページを参照すると幸せになれるかも。
http://www.php.net/manual/ja/datetime.formats.php

3. 時間の足し算、引き算

開始日時、終了日時を得る時なんかに使うかもしれないです。

DateIntervalクラスコンストラクタの引数の書式は一度覚えてしまうと結構便利。

引数の書式については、こちらの記事を読んだほうが分かりやすいかもしれないです。
PHP 5.3 の DateTime オブジェクト関連の便利な新機能 – 肉とビールとパンケーキ by @sotarok
http://sotarok.hatenablog.com/entry/20090716/php_53_datetime_dateinterval

4. タイムゾーンを指定する

DateTimezoneオブジェクトを、上記いずれかの方法で渡すとタイムゾーンを指定できます。

タイムゾーンの書式についてはこちらを参照するといいです。
http://www.php.net/manual/ja/timezones.php

 

とりあえずこんな感じで。

ここまで書いといてからいうのもアレですけど、本当に急いでいるならdate関数を使ったって全然問題無いと思います(´・ω・`)

Sublime TextでUWSCのコードを快適に編集する

Langage file for UWSC
無味乾燥だったあなたのUWSCがこんなにカラフルに!

最近、何故か仕事でよくUWSCを触る機会が増えてきました。

触り初めは何もハイライトしていないプレーンテキストで編集していたのですが、やっているうちに行数がすごいことになりまして、見通しがあまりに悪くなってきたので見やすくする方法はないか探していたのですが、すでにsublimetext用の入力補完&ハイライトファイルが公開されていました。世の中には素晴らしいことをしてくれる人がたくさん居るものなんですね。

https://github.com/stuncloud/uwsc-language-files-for-sublimetext

インストール方法は他のsublime textのプラグインと同じ方法で、解凍したプラグイン本体をsublime textのpackagesフォルダにブチ込むだけ。「UWSC」なんてフォルダにまとめて入れるといいかもしれませんね。

 

jqueryなしで動くwysiwygエディタ「wysihtml5」を使ってみたよ&気がついたこと。

ちょっと色を変えたいとか、ちょっと太字にしたいとか、その程度のことだけ実現できるwysiwygエディタがあるといいんですが、そういう低機能(?)なエディタはそうそうあるもんじゃないんですね。

でもやっと見つけました。jqueryなしで動くという触れ込みの「wysihtml5」です。

wysihtml5 – A better approach to rich text editing

デモサイトのエディタのアイコンは最低限の機能だけに抑えられています。シンプルでいいですね(´∀`*)

早速リファレンスを見ながら導入してみました。ちなみに俺が導入したバージョンは0.3.0です。

jquery非依存だからなのかもしれませんが、導入の手順が他のエディタと比べて少々込み入ってるかも??

Getting Started · xing/wysihtml5 Wiki · GitHub

早速テストしてみました。……が、早々におかしな箇所を発見。日本語を入力してから変換するためにスペースキーを押すと、入力した文字が消えてしまいます。

試しに「変換」キーを押したら、問題なく変換されます。スペースキーの時だけおかしくなるみたいですね。

wysihtml5のコードを見てみると、スペースキーが絡む処理が書かれているのは8536行付近にある以下の部分だけみたいです。

一箇所だけなので、試しにこのブロックをコメントアウトしてから再度動かしてみたら、今度は問題なく変換できるようになりました。これでまた変な問題が出たら考えますが、今のところは何とか動いているのでよしとしましょう。

それではでは(´・ω・)ノシ

 

[JS]文字列型から数値型にキャストする時に使えそうな方法

JSをいじくってhghgしてた時に面白いTipsを見つけたのでメモメモ。

文字列型を数値型にキャストするときはparseIntを使っていたのですが、「* 1」なんてものを使っても数値型にキャストされるみたいですね。

参考↓
JavaScript メモ / チップス parseInt() 時々落とし穴 [ ARTEMIS ]
http://www.artemis.ac/contents/javascript/jsmemo2.htm

var str = ‘0205’; //文字列型
alert(str + ‘ は ‘ + typeof str + ‘型’) ;    //string

str = str*1;
alert(str + ‘ は ‘ + typeof str + ‘型’ )     //number

※コメント部分はにしふなばし注釈

計算する時に自動的に数値型にキャストされる仕様を利用したみたいですね。2文字でキャストできるとか便利ですなっ。

でもいきなりこんなのが出てくると何してるか分からないので、ガシガシ使うのもなんだか疑問がわきますね……とか言いながらちょこちょこ使いますけど(´・ω・)

RedmineをCentOS5にインストールする際にハマった。

Redmineを使ってみたくてインストールしたけれど、めちゃくちゃはまってしまったのが悲しいのでメモしておきます。

Redmineのインストールの流れは下記のサイトを参照。

 

Redmine 2.2をCentOS 6.3にインストールする手順
http://blog.redmine.jp/articles/2_2/installation_centos/

 

CentOS6が対象の記事ですが、5でもいけるだろ~と思って進めてみたのが泥沼の始まり・・・!
Gemパッケージのインストール時に、「ImageMagickのバージョンが古すぎんだよっ!!」と怒られ、RMagickがインストール出来ませんでした。

CentOS6だとバージョンが新しいものがインストールされるので、問題なく進むみたいです。
必要なバージョンは6.4.9以上、CentOS5で入るものは6.2.8。\(^o^)/オワタ

しかし諦める訳にはいかないので、先人の知恵を頂きにGoogleさんに聞いてみたら、ピッタリ差さる記事がありました。

 

CentOS に ImageMagick, RMagick のインストール
http://akkunchoi.github.io/imagemagick-rmagick-centos.html

 

上記の記事と同様に、rpmコマンドではうまくインストールできなかったので、ImageMagickの公式サイトからソースを持ってきて野良ビルドしました。

インストールする際に、「yum install ImageMagick」を叩いて、古いバージョンをインストールすと同時に依存パッケージを全部インストールし、その後「yum remove ImageMagick」でImageMagickだけ消しておくと楽かもしれません。
それについての参考はこちら↓

 

CentOS 5にImageMagickをインストールときのメモ – 4.5帖の生活
http://takuya1984.hatenablog.com/entry/20120508/1336488683

 

ちなみに、せっかくなので最新のImageMagick6.8.5-3を入れてみました。特に意味は無いですが(´・ω・`)

これで改めて「# bundle install –without development test postgresql sqlite」を叩いたら、今度は

Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc’
to the PKG_CONFIG_PATH environment variable
No package ‘MagickCore’ found

というエラーが(´;ω;`)

でもこれも1個目の記事に書いてあった「$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig」で対応できました。

もう一度「# bundle install –without development test postgresql sqlite」を叩くと、今度はしっかりうまくいったみたいです。

とりあえずよかったよかった。