Re: phpで日本の祝日や振替休日を出力する。

とりあえず1か月分の祝日を取得します。ついでに振替休日やら、国民の休日にも対応してみました。国民の休日なんてめったにあるもんじゃないんですけど、2015年にまたあるようなので、とりあえず実装してみました。イベントスケジュールとかを作るときに結構便利です。

via. phpで日本の祝日や振替休日を出力する。 ::: Toro_Unit

引数には、年も指定できた方が良いですね。

[2014-8-26 追記] Google Calendar API v3 に対応させる記事を書きました
[PHP] Google Calendar API v3 で日本の祝日を取得する

[PHP] Google Calendar API から日本の祝日データを取得

Google Calendarから日本の祝日データを取得する方法についての調査メモ。

ポイント

  • GDataを使う場合はデベロッパーKEYが必要だが、GDataを使わなくても日本の祝日カレンダーは取得できる。
  • 祝日名と日付を取得したい場合、Projection valueは”full-noattendees”で。(fullより少しだけデータが小さくなる。)
  • 利用規約はGoogleカレンダー利用規約。

via. floatingdays: Google Calendar API で日本の祝日データを取得

PHP でやるなら…

$holidays_url = sprintf(
        'http://www.google.com/calendar/feeds/%s/public/full-noattendees?start-min=%s&start-max=%s&max-results=%d&alt=json' ,
        'outid3el0qkcrsuf89fltf7a4qbacgt9@import.calendar.google.com' , // 'japanese@holiday.calendar.google.com' ,
        '2012-01-01' ,  // 取得開始日
        '2012-12-31' ,  // 取得終了日
        50              // 最大取得数
        );
if ( $results = file_get_contents($holidays_url) ) {
        $results = json_decode($results, true);
        $holidays = array();
        foreach ($results['feed']['entry'] as $val ) {
                $date  = $val['gd$when'][0]['startTime'];
                $title = $val['title']['$t'];
                $holidays[$date] = $title;
        }
        ksort($holidays);
}

[2014-8-26 追記] Google Calendar API v3 に対応させる記事を書きました
[PHP] Google Calendar API v3 で日本の祝日を取得する

[PHP] csv ファイルを連想配列に読み込む

function parse_csv( $csv_file, $title_row = -1, $start_row = 0, $key_cal = -1, $length = 0, $delimiter = ',', $enclosure = '"' ) {
    $results = FALSE;

    if ( file_exists($csv_file) && ($fp = fopen($csv_file, 'r')) ) {
        $row = 0;
        $results  = array();
        $col_name = array();
        while ( $field_array = fgetcsv($fp, $length, $delimiter, $enclosure) ) {
            if ( $row === $title_row ) {
                $col = 0;
                foreach ($field_array as $value) {
                    $col_name[$col] = !empty($value) ? $value : $col;
                    $col++;
                }
            }
            if ( $row >= $start_row ) {
                $result = array();
                $col = 0;
                foreach ($field_array as $value) {
                    $key = isset($col_name[$col]) ? $col_name[$col] : $col;
                    $result[$key] = $value;
                    $col++;
                }

                $key = $row;
                if ( is_numeric($key_cal) ) {
                    $key =
                        ( $key_cal >= 0 && isset($col_name[$key_cal]) )
                        ? $result[$col_name[$key_cal]]
                        : $row;
                } else {
                    foreach ($col_name as $value) {
                        if ( $key_cal === $value ) {
                            $key = $result[$value];
                            break;
                        }
                    }
                }
                $results[$key] = $result;
            }
            $row++;
        }
        fclose($fp);
    }

    return $results;
}

Topsy から Google+ の検索結果を JSON で取得

今朝(米国時間10/11)、リアルタイム検索・分析プラットフォームを提供するTopsy LabsがGoogle+を検索対象に含めたことを発表した。

Google+の公開投稿専用の検索エンジン(ベータ版)はこちら〔日本語版〕。ユーザーはGoogle+への公開投稿をリアルタイムでも過去に遡っても検索できる。

via. Topsy、Google+一般公開投稿のリアルタイム検索エンジンをローンチ〔日本語にも対応ずみ〕

Topsy から特定 URL の Google+ 検索結果を JSON で取得するには

http://plus.otter.topsy.com/trackbacks.json?url={url}&tracktype=googleplus__trackback

ちなみに特定 URL の Twitter の Tweet を取得するには

http://otter.topsy.com/trackbacks.json?url={url}&tracktype=tweet