タグ: サイボウズlive

日付書式のTとZ

9769800351_808bdd20c6_z
サイボウズLiveのAPI叩いて、
取得できた日付データを見て
ふと気づいた。

「あれ?これ実際の時間とちがくね?」

ちなみに更新日時だったんだけど、
実際に更新した時間と何時間も違う。

バグか!?

よくみると表記法なんか見たことない。↓こんなの
2010-10-29T02:39:46Z

日付にT、時間にZってなんだろうと調べてみた結果。

ISO8601のwikiに答えがあった。

上の表記については日付と時刻の組み合わせってところに書いてあって、
後ろにZ付くと世界協定時(UTC)、つまりグリニッジ標準時だそうな。

なるほど、グリニッジ標準時と日本の標準時は9時間の時差があるから、
その分ずれてるのか。

というわけで、日本時間にするには9時間プラスしてあげればOK
以下、PHPでの例

PHPでXMLの名前空間の値、属性の値を取得する。

14744032330_48546bfc1c_zサイボウズLiveのAPI使った
PHPのプログラム作成中に
ハマったのでメモ

 

いいねAPIで取得した結果をsimplexml_load_fileで取得したら

いいねをした人の情報がなかった。
↓こんなの。valueStringとidの値が取得したい。

XMLで見るとちゃんと送られてきているので、
どうやらsimplexml_load_fileが解析できていない。

どうやって取得するのか調べたところ
名前空間というものらしく、取得方法が別にちゃんとあるようで
SimpleXMLElementのchildrenを使うみたい

タグ情報までは取得できたが、ここからさらにvalueStringといった属性の値を取得する必要がある。
属性の取得はSimpleXMLElementのattributesを使う。

↓で取得できた。