content |
/**
* 文字列から先頭の1個の整数を平成の年としてを取り出し、西暦年に変換する。
* [例]
* parseHyear("平成23年") => 2011
* parseHyear("H23") => 2011
* parseHyear("23") => 2011
* @param str 半角または全角の数字の文字を含む文字列
* @return 西暦年
*/
function parseHyear(str) {
var nums = pickupNumZ(str, false);
return ""+ (nums[0] + 1988);
}
/**
* 文字列から平成の年月日として取り出し、西暦年月日に変換する。
* [例]
* parseHdate("平成23年9月24日") => 2011-09-24
* parseHdate("H23.12.4 (晴)") => 2011-12-04
* parseHdate("23.9.24") => 2011-09-24
* @param str 半角または全角の数字の文字を含む文字列
* @return 西暦年月日
*/
function parseHdate(str) {
var nums = pickupNumZ(str, false);
return (nums[0] + 1988) +"-"+ toDigit2(nums[1]) +"-"+ toDigit2(nums[2]);
}
/**
* 文字列から月日として取り出しす。
* [例]
* parseMMDD("9月24日 雨") => 09-24
* parseMMDD("9.24 (晴)") => 09-24
* parseMMDD("10.24") => 10-24
* @param str 半角または全角の数字の文字を含む文字列
* @return 月日
*/
function parseMMDD(str) {
var nums = pickupNumZ(str, false);
return toDigit2(nums[0]) +"-"+ toDigit2(nums[1]);
}
/**
* 文字列から時分として取り出しす。
* [例]
* parseHHmm("9時23分") => "09:23"
* parseHHmm("9.3") => "09:03"
* parseHHmm("午後9時3分") => "21:03"
* @param str 文字列
* @return 時分
*/
function parseHHmm(str) {
var nums = pickupNumZ(str, false);
if (str[0] == "後" || str[1] == "後")
nums[0] += 12;
return toDigit2(nums[0]) +":"+ toDigit2(nums[1]);
}
/**
* 1桁の数字の前に"0"を補って2桁にする。
* [例]
* twoDigits("12月") => 12
* twoDigits("1日") => 01
* @param num 半角または全角の数字の1贈ォ2桁の数字を含む文字列
* @return 2桁の数字
*/
function twoDigits(str) {
var nums = pickupNumZ(str, false);
return toDigit2(nums[0]);
}
/**
* yy.mm.dd形式のymd(yyは平成の年)とhh:mm形式の時分から、YYYY-MM-DDThh:mm:00形式の時刻に変換して返す。
* makeDate1("平23.8.31","9:55") => "2011-08-31T09:55:00"
* @param ymd yy.mm.dd形式の年月日(yyは平成の年) (string)
* @param hm hh:mm形式の時分 (string)
* @return YYYY-MM-DDThh:mm:00形式の時刻(string)
*/
function makeDate1(ymd,hm) {
if (ymd.length == 0 || hm.length == 0) return "";
for(var i = 0; ymd[i] < '0' || '9' < ymd[i]; i++);
ymd = ymd.substring(i);
var yymmdd = ymd.split('.');
var year = parseInt(yymmdd[0]) + 1988;
var month = yymmdd[1];
if (month.length == 1) month = '0' + month;
var day = yymmdd[2];
if (day.length == 1) day = '0' + day;
var i = hm.indexOf(':');
var hour = hm.substring(0, i);
if (hour.length == 1) hour = '0' + hour;
var minute = hm.substring(i+1);
if (minute.length == 1) minute = '0' + minute;
return year +'-'+ month +'-'+ day +'T'+ hour +':'+ minute +':00';
}
/**
* yy.mm.dd形式がPDF変換によりdd.mm.yyと認識され、
* 20dd-mm-yyT00:00:00.000に変換される場合の対応。
* YYYY-MM-DDThh:mm:00形式の時刻に変換して返す。
* @param ymd yy.mm.dd形式の年月日(yyは平成の年) (string)
* @param hm hh:mm形式の時分 (string)
* @return YYYY-MM-DDThh:mm:00形式の時刻(string)
*/
function makeDate1x(ymd,hm) {
//var yymmdd = ymd.split('.');
var year = parseInt(ymd.substring(8,10)) + 1988;
var month = ymd.substring(5,7);
var day = ymd.substring(2,4);
var i = hm.indexOf(':');
var hour = hm.substring(0, i);
if (hour.length == 1) hour = '0' + hour;
var minute = hm.substring(i+1);
if (minute.length == 1) minute = '0' + minute;
return year +'-'+ month +'-'+ day +'T'+ hour +':'+ minute +':00';
}
/**
* 「YYYY」形式の年、「数字+文字」形式の月、「hh」形式の時間、「mm」形式の分から、YYYY-MM-DDThh:mm:00形式の時刻に変換して返す。
* @param year 「YYYY」形式の年(string)
* @param mmdd 「数字+文字」形式の月。たとえば"8月17日" (string)
* @param hour 「hh」形式の時間(string)
* @param minute 「mm」形式の分(string)
* @return YYYY-MM-DDThh:mm:00形式の時刻(string)
*/
function makeDate2(year, mmdd, hour, minute) {
var nums = pickupNums(mmdd);
var month = nums[0];
if (month < 10) month = '0' + month;
var day = nums[1];
if (day < 10) day = '0' + day;
return year +'-'+ month +'-'+ day +'T'+ hour +':'+ minute +':00';
}
|