Skip to content
[Docs]스프레드시트
2014.11.11 08:17

음력변환

조회 수 17856 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄




=sol2lun("2014", "11", "11")



 /**

 * 음력일자를 받아서 양력일자를 리턴하는 함수 (한국천문연구원 사이트를 이용)

 * 음력 10월 3일의 2013년 양력일자를 알고 싶은 경우 lun2sol(2013, 10, 3, 1) 으로 호출

 * 응답으로는 '2013/11/05' 와 같이 스트링을 리턴.

 * yoon (윤달구분) : 1 - 평달, 2 - 윤달

 */

function lun2sol(yyyy, mm, dd, yoon) {

  yyyy = parseInt(yyyy, 10); mm = parseInt(mm, 10); dd = parseInt(dd, 10);

  

  if ((yyyy <= 1391) || (yyyy >= 2050)) {

    return "ERROR";

  }

  if ((mm < 1) || (mm > 12)) {

    return "ERROR";

  }

  if ((dd < 1) || (dd > 31)) {

    return "ERROR";

  }

 

  /* 이미 조회했던 일자이면 ScriptProperties 에서 읽어 온다. -- 네트웍을 통한 조회는 한번만 하도록 */  

  var prop = ScriptProperties.getProperty("lun2sol/" + yyyy + "/" + mm + "/" + dd + "/" + yoon);

  if (prop != null) {

    Logger.log("Read from db: " + prop);

    return prop;

  }

  

  var payload = {

    "lun_year": String(yyyy),

    "lun_month": String(mm),

    "lun_day": String(dd),

    "yoon": String(yoon)

  };

  var params = {

    "method": "post",

    "payload": payload

  };

  var result = UrlFetchApp.fetch("http://astro.kasi.re.kr/Life/Knowledge/solar2lunar/convert_daily_l2s.php", params);

  var htmlstr = result.getContentText();

  //Logger.log(htmlstr);

 

  var pos = htmlstr.indexOf("td width=500");  //-- 천문연구원 사이트 변경되면 수정 필요

  if (pos >= 0) {

    pos = pos + 13;

    var checkChar = htmlstr.substr(pos, 1);

    if ((checkChar >= "0") && (checkChar <= "9")) {

      ;

    }

    else {

      return "ERROR";

    }

    

    var new_prop = htmlstr.substr(pos, 4) + "/" + htmlstr.substr(pos + 7, 2) + "/" + htmlstr.substr(pos + 12, 2)

    ScriptProperties.setProperty("lun2sol/" + yyyy + "/" + mm + "/" + dd + "/" + yoon, new_prop);

    

    return new_prop;

  }

  return "ERROR";

}

 

/**

 * 양력일자를 받아서 음력일자를 리턴하는 함수 (한국천문연구원 사이트를 이용)

 * 양력 2013년 1월 26일의 음력일자를 알고 싶은 경우 sol2lun(2013, 1, 26) 으로 호출

 * 응답으로는 '2012/12/15 평달' 과 같이 스트링을 리턴.

 */

function sol2lun(yyyy, mm, dd) {

  yyyy = parseInt(yyyy, 10); mm = parseInt(mm, 10); dd = parseInt(dd, 10);

 

  if ((yyyy <= 1391) || (yyyy >= 2050)) {

    return "ERROR";

  }

  if ((mm < 1) || (mm > 12)) {

    return "ERROR";

  }

  if ((dd < 1) || (dd > 31)) {

    return "ERROR";

  }

 

  /* 이미 조회했던 일자이면 ScriptProperties 에서 읽어 온다. -- 네트웍을 통한 조회는 한번만 하도록 */  

  var prop = ScriptProperties.getProperty("sol2lun/" + yyyy + "/" + mm + "/" + dd);

  if (prop != null) {

    Logger.log("Read from db: " + prop);

    return prop;

  }

  

  var payload = {

    "sol_year": String(yyyy),

    "sol_month": String(mm),

    "sol_day": String(dd),

  };

  var params = {

    "method": "post",

    "payload": payload

  };

  var result = UrlFetchApp.fetch("http://astro.kasi.re.kr/Life/Knowledge/solar2lunar/convert_daily_s2l.php", params);

  var htmlstr = result.getContentText();

  var yoonstr;

  var pos = htmlstr.indexOf("td width=500");  //-- 천문연구원 사이트 변경되면 수정 필요

  if (pos >= 0) {

    pos = pos + 13;

    var checkChar = htmlstr.substr(pos, 1);

    if ((checkChar >= "0") && (checkChar <= "9")) {

      ;

    }

    else {

      return "ERROR";

    }

 

    if (htmlstr.indexOf("br>(") == -1) {             //-- 천문연구원 사이트 변경되면 수정 필요

      yoonstr = "평달";

    } 

    else {

      yoonstr = "윤달";

    }

 

    var new_prop = htmlstr.substr(pos, 4) + "/" + htmlstr.substr(pos + 7, 2) + "/" + htmlstr.substr(pos + 12, 2) + " " + yoonstr;

    ScriptProperties.setProperty("sol2lun/" + yyyy + "/" + mm + "/" + dd, new_prop);

 

    return new_prop;

  }

  return "ERROR";

}

 

function test_lun2sol() {

  //Logger.log(lun2sol("2013", "10", "3", 1));

  Logger.log(lun2sol(2013, 1, 4, 1));

}

 

function test_sol2lun() {

  Logger.log(sol2lun("2013", "1", "26"));

}





로그인 후 댓글쓰기가 가능합니다.

?

  1. 11
    Nov 2014
    08:22

    쇼킹한 웹 긁어오기

    Category[Docs]스프레드시트 Views3904
    Read More
  2. 11
    Nov 2014
    08:17

    음력변환

    Category[Docs]스프레드시트 Views17856
    Read More
  3. 11
    Nov 2014
    08:12

    Google Spreadsheet (Docs) 에서 우리은행 환율정보 이용하기

    Category[Docs]스프레드시트 Views29873
    Read More
  4. 10
    Nov 2014
    08:36

    엑셀 여러가지 기능

    CategoryExcel Views5014
    Read More
  5. 04
    Oct 2014
    18:47

    Google 스프레드시트 함수

    CategoryExcel Views7173
    Read More
  6. 13
    Sep 2014
    09:13

    XE DB 튜닝

    CategoryServer Views4378
    Read More
  7. 20
    Aug 2014
    19:27

    배열수식 다중조건의 일치하는 값 불러 오기

    CategoryExcel Views14202
    Read More
  8. 31
    Jul 2014
    09:09

    오피스 2003, 2007, 2010... 삭제할 수 없을 때 제거 방법

    CategoryExcel Views6883
    Read More
  9. 19
    Jul 2014
    17:35

    구글 문서도구 스프레드시트로 바코드 입력하기

    Category컴퓨터잡담 Views4668
    Read More
  10. 14
    Apr 2014
    08:39

    동영상 자르기 프로그램

    Category컴퓨터잡담 Views2705
    Read More
  11. 01
    Apr 2014
    17:12

    ahk) autohotkey controlgettext 이름을 마우스커서에 졸졸 따라다니게 하기

    CategoryAutoHotKey Views12235
    Read More
  12. 01
    Apr 2014
    15:54

    엑셀 셀 복사하기(복사제한된 엑셀등)

    CategoryAutoHotKey Views7830
    Read More
  13. 26
    Mar 2014
    13:50

    인터넷 익스플로러 속도개선 프로그램

    CategoryWindowsTip Views4765
    Read More
  14. 27
    Dec 2013
    15:59

    스마트폰으로 오실로스코프 사용하기(App:OsciPrime Oscilloscope Legacy)

    CategoryWindowsTip Views23306
    Read More
  15. 04
    Dec 2013
    13:31

    Windows-XP 의 [Prefetch] 폴더에 대하여[C:\WINDOWS\Prefetch]

    CategoryWindowsTip Views24631
    Read More
  16. 03
    Dec 2013
    08:11

    탐색기로 ftp 폴더 바로열기

    CategoryWindowsTip Views19668
    Read More
  17. 30
    Oct 2013
    17:50

    ahk) 오토핫키 콤보박스 제어하기

    CategoryAutoHotKey Views38186
    Read More
  18. 30
    Oct 2013
    17:11

    autohotkey) 오토핫키에서 자주쓰는 함수모음

    CategoryAutoHotKey Views33708
    Read More
  19. 30
    Oct 2013
    17:04

    ahk) autohotkey 엑셀(Excel)에서 행값 증가시키기

    CategoryAutoHotKey Views37426
    Read More
  20. 30
    Oct 2013
    16:59

    ahk) autohotkey 글자 자르기 방법

    CategoryAutoHotKey Views34680
    Read More
Board Pagination Prev 1 ... 15 16 17 18 19 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소