XML Schemaで日付を表すにはdateTime型という形式があるらしい

何故かXMLでデータをやり取りしなければいけなくて、日付を格納しようとしたら「CCYY-MM-DDThh:mm:ss」という形式で格納しないといけないようで。

はじめは文字列をちまちま組み立てようとしたのですが、いかんせん面倒臭い。

ruby-1.9.2-p290 :026 > t.strftime("%Y-%m-%dT%H:%M:%S")
 => "2012-03-18T23:43:36" 
ruby-1.9.2-p290 :027 > 

ここまでだったらできるんだけど、最後のタイムゾーンをコロン区切りにするのがどうも面倒くさくて。1.9.3なら%:zってやつで出来るっぽいんだけど。

何かいい方法はないものかと思ったら、まんまTime#xmlschemaというメソッドがありました。

ruby-1.9.2-p290 :013 > Time.now.xmlschema
 => "2012-03-18T23:34:56+09:00" 
ruby-1.9.2-p290 :014 >