ishiducaの日記 このページをアンテナに追加 RSSフィード

2010-06-24

[]Twitterで表示される日付を変換する 19:33 Twitterで表示される日付を変換する - ishiducaの日記 を含むブックマーク はてなブックマーク - Twitterで表示される日付を変換する - ishiducaの日記 Twitterで表示される日付を変換する - ishiducaの日記 のブックマークコメント

TwitterAPIを使って取得したつぶやきの日付のタイムゾーンが日本と異なるので直します。

(追記 2010.06.26 使うAPIによって返ってくる日付フォーマットが違います。下記の日付形式はsearchの結果で返ってくる日付の場合です)

use DateTime;
use DateTime::Format::Mail;
use DateTime::Format::W3CDTF;

# 日付文字列を DateTimeオブジェクトに変換する
# $twitters_date は TwitterのAPIから取得した日付
# ex Thu, 24 Jun 2010 06:36:06 +0000
my $dt = DateTime::Format::Mail->parse_datetime( $twitters_date );

# タイムゾーンを東京時間に直す
$dt->set_time_zone( 'Asia/Tokyo' );

# W3CDTFフォーマットして出力
print DateTime::Format::W3CDTF->format_datetime( $dt );
# 2010-06-24T13:51:07+09:00
トラックバック - http://perl.g.hatena.ne.jp/ishiduca/20100624

2009-06-25

[][]DateTimeモジュールを使って日付計算(満何年)を計算する 16:22 DateTimeモジュールを使って日付計算(満何年)を計算する - ishiducaの日記 を含むブックマーク はてなブックマーク - DateTimeモジュールを使って日付計算(満何年)を計算する - ishiducaの日記 DateTimeモジュールを使って日付計算(満何年)を計算する - ishiducaの日記 のブックマークコメント

直前の記事関数の引数に複数のハッシュを指定する場合はリファレンスを使うの get_year.pl をDateTimeモジュールを使ってやってみました。リファクタリング?

get_year2.pl

#!/usr/bin/perl -s -w
use strict;
use DateTime;
use DateTime::Format::Strptime;

our($h);

my $usage =<<"USAGE";
Usage: $0 YYYY/MM/DD [YYYY/MM/DD]
       $0 -h
USAGE
;

foreach( @ARGV ){
    m|^\d{4}/\d{1,2}/\d{1,2}$| or warn "$usage\n" and exit 255;
}

$h and print $usage and exit 0;

@ARGV or die "$usage\n";
my $strp = DateTime::Format::Strptime->new(
    pattern => '%Y/%m/%d',
);
my $start_date  = $strp->parse_datetime($ARGV[0]);
my $finish_date;
if( $ARGV[1] ){
    $finish_date = $strp->parse_datetime($ARGV[1]);
} else {
    $finish_date = DateTime->today;
    # print $finish_date->ymd;
}

my $dur = $finish_date - $start_date;

printf "満 %2s 年 %2s ヶ月\n", $dur->years, $dur->months;

exit 0;

参照

DashDash2011/10/10 12:42Your article perfectly shows what I needed to know, tnhaks!

isbentyyowlisbentyyowl2011/10/10 18:32bNeKLH <a href="http://penkuwxjpjyb.com/">penkuwxjpjyb</a>

phslmuuhphslmuuh2011/10/12 02:06ZjXfZ1 , [url=http://napedayzihvv.com/]napedayzihvv[/url], [link=http://ijommnclvhrk.com/]ijommnclvhrk[/link], http://ntcebrpashsh.com/

wwpbswoawwpbswoa2011/10/13 23:38XwQx2I <a href="http://zocjzpqmtbcf.com/">zocjzpqmtbcf</a>

jdthwfffmmjdthwfffmm2011/10/14 19:57rO5PUb , [url=http://tmuypkupwzly.com/]tmuypkupwzly[/url], [link=http://xenmuwpxnwow.com/]xenmuwpxnwow[/link], http://xmpageqkljmw.com/

RaniRani2012/11/01 18:42I can't hear anything over the sound of how aeswome this article is.

gvelconaefhgvelconaefh2012/11/02 10:04fAXQ4u <a href="http://kxzofmhmaqrd.com/">kxzofmhmaqrd</a>

zgpobuzgpobu2012/11/02 14:40lSNt9m , [url=http://otnqpcouctww.com/]otnqpcouctww[/url], [link=http://hgwekhrbxogs.com/]hgwekhrbxogs[/link], http://shvfahutlsjm.com/

ktrioksqcktrioksqc2012/11/04 23:18FOVZJJ <a href="http://fzfmfvxsbdhf.com/">fzfmfvxsbdhf</a>

fzjnrzamfzjnrzam2012/11/05 12:38Yqnnj5 , [url=http://hgfpsadaybiw.com/]hgfpsadaybiw[/url], [link=http://stywutofmhtg.com/]stywutofmhtg[/link], http://mzvxzsxifzhy.com/

トラックバック - http://perl.g.hatena.ne.jp/ishiduca/20090625