【AS3】RSSの日付を変換
RSSから取得できる日付って
「Thu, 08 Oct 2009 14:34:01 +0900」
こんな感じでこのままだと使いづらいのでよくある形式に変換するクラスを作りました。
「Thu, 08 Oct 2009 14:34:01 +0900」
こんな感じでこのままだと使いづらいのでよくある形式に変換するクラスを作りました。
使い方は以下のようにします。
var rssEx:RssDateExchange = new RssDateExchange("Thu, 08 Oct 2009 14:34:01 +0900");
trace(rssEx.start());
でトレースした結果は→「 2009/10/8 (木) 」です。
・ソース
package
{
public class RssDateExchange
{
private var dateList:Array = new Array();;
private var monthList:Array = new Array();
private var dayList:Array = new Array();
private var jDayList:Array = new Array();
private var gmt:Number;
private var n:Number;
public static var dateStyle:String;
public function RssDateExchange(date:String)
{
dateList = date.split(" ");
trace(dateList)
}
public function start():String {
monthList = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
dayList = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
jDayList = ["日", "月", "火", "水", "木", "金", "土"];
var year:Number = new Number(dateList[3]);
for (var n:Number = 0; n < monthList.length; n++) {
if (dateList[2] == monthList[n]) {
var month:Number = n;
break;
}
}
var date:Number = new Number(dateList[1]);
for (var n1:Number = 0; n1 < dayList.length; n1++) {
var day1:String = dateList[0].substr(0, 3);
if (day1 == dayList[n]) {
var day:Number = n;
break;
}
}
var timeList:Array = dateList[4].split(":");
var hour:Number = strToNumber(timeList[0]);
var GMT:Number = gmtToNumber(dateList[5]);
var minute:Number = strToNumber(timeList[1]);
var second:Number = strToNumber(timeList[2]);
var d:Date = new Date(year, month, date, hour+GMT, minute, second);
dateStyle = d.getFullYear()+"/"+(d.getMonth()+1)+"/"+d.getDate()+" ("+jDayList[d.getDay()]+")";
return dateStyle;
}
private function strToNumber(str:String):Number {
if (str.substr(0, 1) == "0") {
n = Number(str.substr(1, 1));
} else {
n = Number(str.substr(0, 2));
}
return n;
}
private function gmtToNumber(str:String):Number {
str = str.substr(0, 3);
var n:Number = strToNumber(str.substr(1, 2));
if (str.substr(0, 1) == "+") {
gmt = n;
} else {
gmt = -n;
}
return gmt;
}
}
}
トラックバック(0)
このブログ記事を参照しているブログ一覧: 【AS3】RSSの日付を変換
このブログ記事に対するトラックバックURL: http://alwaysfinetuning.com/mt/mt-tb.cgi/82

