//다음 변수는 JS 공용 변수입니다 var TANGER_OCX_bDocOpen = false; var TANGER_OCX_filename;//파일 이름 var filetype="";//파일 유형 var savetype ;//파일 저장 유형 var TANGER_OCX_OBJ; //제어 객체 var TANGER_OCX_Username="익명 사용자";//사용자 이름 var TANGER_OCX_key="";//씰을 로드하기 위한 키 설정 var IsFileOpened; //컨트롤이 문서를 열었는지 여부 var svisble=true;//표시 상태 표시 var TANGER_OCX_strOp; //현재 작업을 식별합니다. 1: 새로 만들기, 2: 편집용으로 열기, 3: 읽기 위해 열기 var TANGER_OCX_attachName; //기존 온라인 편집 문서 첨부 파일의 이름을 식별합니다. var TANGER_OCX_attachURL; var TANGER_OCX_actionURL ; //양식이 제출된 URL
//현재 양식을 편집할 수 없습니다. 전체 양식이 읽기 전용인 경우 함수가 호출됩니다. FormDisabled(bool) { var formmid=document .forms.item(0) var elelength=formid.length for (var i=0; i{formid.elements[i].disabled = bool;} //표시되지 않는 컨트롤 제목 표시줄, 상태 표시줄, 도구 모음, 메뉴 표시줄은 다음과 같습니다. TANGER_OCX_OBJ.TitleBar=!bool; 🎜>TANGER_OCX_OBJ.Statusbar=!bool; TANGER_OCX_OBJ.ToolBars=!bool; TANGER_OCX_OBJ.Menubar=!bool; } //샘플 프로그램 도움말 문서 함수 NtkoHelp() 🎜>{ window.open("help.htm","help" ); } //문서 창 열기 function popupDocWin(turl){ var aw = window .screen.availWidth; var ah = window.screen.availHeight; window.open(turl,"office") } //문서 만들기 function CreatNew(DocType) <… 🎜>TANGER_OCX_OBJ.IsUseUTF8Data = useUTF8; try { / /양식의 제출 URL을 저장하고 나중에 컨트롤의 SaveToURL 함수에 전달 TANGER_OCX_actionURL = document.forms[ 0].action;//현재 작업 코드 가져오기 TANGER_OCX_strOp = document.all.item(" TANGER_OCX_op").innerHTML; //기존 첨부 파일 이름 가져오기 TANGER_OCX_attachName = document. all.item("TANGER_OCX_attachName").innerHTML; //기존 첨부파일 URL 가져오기 TANGER_OCX_attachURL = document.all.item("TANGER_OCX_attachURL").innerHTML; "TANGER_OCX_key").innerHTML; }catch(err){}finally{}; } //이 함수는 웹페이지가 로드될 때 호출됩니다. 제어 객체를 얻어 TANGER_OCX_OBJ 에 저장하는 데 사용됩니다.//동시에 초기 메뉴 상태 설정, 초기 문서 열기 등이 가능합니다. function TANGER_OCX_Init(initdocurl) { TANGER_OCX_OBJ = document.all.item("TANGER_OCX") var useUTF8 = (document.charset == "utf-8"); TANGER_OCX_OBJ.IsUseUTF8Data = useUTF8; try { //양식의 제출 URL을 저장하고 나중에 컨트롤의 SaveToURL 함수에 전달합니다. TANGER_OCX_actionURL = document.forms[0] .action; //현재 작업 코드 가져오기 TANGER_OCX_strOp = document.all.item("TANGER_OCX_op").innerHTML //기존 첨부 파일 이름 가져오기 TANGER_OCX_attachName = document.all. item("TANGER_OCX_attachName") .innerHTML; //기존 첨부 파일 URL 가져오기 TANGER_OCX_attachURL = document.all.item("TANGER_OCX_attachURL").innerHTML; try{ TANGER_OCX_key = document.all .item("TANGER_OCX_key ").innerHTML; }catch(err){}마지막으로{}; TANGER_OCX_OBJ.SetAutoCheckSignKey(TANGER_OCX_key) switch(TANGER_OCX_strOp) { case " 1": if(initdocurl!="") { TANGER_OCX_OBJ.BeginOpenFromURL(initdocurl,true,false);//매개변수: URL, 프로세스 표시 여부, 읽기 전용 여부 } break; case "2": if(TANGER_OCX_attachURL) { TANGER_OCX_OBJ.BeginOpenFromURL(TANGER_OCX_attachURL,true,false) else { if(initdocurl !="") TANGER_OCX_OBJ.BeginOpenFromURL(initdocurl,true,false); } break case "3": if(TANGER_OCX_attachURL ) { TANGER_OCX_OBJ.BeginOpenFromURL(TANGER_OCX_attachURL,true,true); } break; default: //지정된 템플릿 파일을 열려면 이때 TANGER_OCX_strOp가 URL을 지정합니다. //아래 사용 현재 문서의 URL은 ?openform var keystr = "?openform&".toUpperCase() var parastring 다음 부분인 템플릿의 URL을 가져오는 데 사용됩니다. = window.location.search; / /alert(parastring); var urlbegin = parastring.toUpperCase().indexOf(keystr) if(-1 != urlbegin) 🎜>TANGER_OCX_strOp = parastring.substr(urlbegin keystr.length); //alert(TANGER_OCX_strOp); //WPS 템플릿인지 확인 var wpsKey = "vwWpsTurl".toUpperCase(); var isWpsTemplateURL = (-1 != parastring.toUpperCase().indexOf(wpsKey)); if(!isWpsTemplateURL) { TANGER_OCX_OBJ.BeginOpenFromURL(TANGER_OCX_strOp,true,false); 🎜>} else { TANGER_OCX_OBJ.BeginOpenFromURL(TANGER_OCX_strOp,true,false,"WPS.Document") } } break } } catch(err){ Alert("오류:" err.number ":" err.description) } 마지막으로{ } } //원본 양식이 OnSubmit 이벤트를 정의하는 경우 문서를 저장합니다. 원본 이벤트가 먼저 호출됩니다. function TANGER_OCX_doFormOnSubmit() { var form = document.forms[0]; if (form.onsubmit) { var retVal = form.onsubmit(); 🎜>if (typeof retVal == "boolean" && retVal == false) return false; } return true; } //데모 맞춤 메뉴 항목 추가 function addMyMenuItems() { try{ TANGER_OCX_OBJ = document.all.item("TANGER_OCX") //사용자 정의 파일 메뉴 항목 추가 TANGER_OCX_OBJ.AddFileMenuItem('다음에 저장 서버 - 사용자 정의 메뉴',false,true,1) TANGER_OCX_OBJ.AddFileMenuItem('') //사용자 정의 기본 메뉴 항목 추가 TANGER_OCX_OBJ.AddCustomMenuItem('내 메뉴 1: 복사 금지 토글',false,false,1); TANGER_OCX_OBJ.AddCustomMenuItem('내 메뉴 2',false,false,2); ''); TANGER_OCX_OBJ.AddCustomMenuItem('내 메뉴 3',false,false,3) TANGER_OCX_OBJ.AddCustomMenuItem('') TANGER_OCX_OBJ.AddCustomMenuItem('이 메뉴를 열어야 합니다.' ,false,true,4); } catch(err) { } } //현재 문서를 저장하는 데 사용되는 함수입니다. 컨트롤의 SaveToURL 기능을 주로 사용합니다. //이 기능의 자세한 사용법은 프로그래밍 매뉴얼을 참고하세요. function TANGER_OCX_SaveDoc(fileName) { var retStr=new String; var newwin,newdoc if(fileName=="") { alert(" 첨부 파일 이름을 지정하세요!"); return; } 시도 { if(!TANGER_OCX_doFormOnSubmit())return; if(!TANGER_OCX_bDocOpen) { alert("열린 문서가 없습니다."); return; } //편집 상태에서 삭제해야 하는 첨부 파일 이름 var deleteFile = ""; // 저장할 첨부파일 이름 설정 document.all.item("TANGER_OCX_filename").value = fileName; switch(TANGER_OCX_strOp) { case "3": alert(" 문서를 읽는 중이므로 서버에 저장할 수 없습니다."); break; case "2": //먼저 이전 문서 첨부 파일을 삭제해야 합니다 deleteFile = (TANGER_OCX_attachName=="")?"":"%�tach=" escape (TANGER_OCX_attachName ); case "1": //새 문서 기본값: retStr = TANGER_OCX_OBJ.SaveToURL(TANGER_OCX_actionURL, document.all.item("NTKO_UPLOADFIELD").name , / /하위 폼의 파일 업로드 컨트롤 이름 deleteFile, fileName, 0 //폼[0]의 정보를 동시에 제출 ) retMhtStr = TANGER_OCX_OBJ.SaveAsOtherFormatToURL( 1, TANGER_OCX_actionURL, document.all.item("NTKO_UPLOADFIELD").name, //하위 양식의 파일 업로드 컨트롤 이름 "%�tach =newdoc.mht", " newdoc.mht", 0 //양식[0]의 정보를 동시에 제출 ); newwin = window.open("", "_blank","왼쪽=200,위쪽=200,너비=400,높이=200,상태=0,도구 모음=0,메뉴바=0,위치=0,스크롤 막대=0,크기 조정 가능=0",false); 🎜>newdoc = newwin.document; newdoc.open () newdoc.write("
//문서가 열릴 때 이 함수가 호출됩니다. 함수 TANGER_OCX_OnDocumentOpened(str, obj) { 시도 { TANGER_OCX_bDocOpen = true; //设置사용자 이름 TANGER_OCX_SetDocUser(TANGER_OCX_Username); if(obj) { 스위치(TANGER_OCX_strOp) { case "1": case "2": TANGER_OCX_OBJ.SetReadOnly(false); 휴식; 케이스 "3": TANGER_OCX_OBJ.SetReadOnly(true); FormDisabled(true);//只读input 元素失去焦点 break; 기본값: break; } } } catch(err){
} 마지막으로{ } } function SaveAsHTML(URL,uploadfield, fileName) { 시도 { var retStr = TANGER_OCX_OBJ.PublishAsHTMLToURL( URL,uploadfield, "__Click=0&filetitle=" escape(document.forms(0).filetitle.value) "&fileother=" escape(document.forms(0).fileother.value) "&fileid=" escape(document.forms(0).fileid.value) "&filename=" 파일 이름, fileName//上传文件name ); var newwin = window.open("","_blank","left=200,top=200,width=400,height=200,status=0,toolbar=0,menubar=0,location=0, 스크롤바=0, 크기 조정 가능=0",false); var newdoc = newwin.document; newdoc.open(); newdoc.write("
//设置文件是打开还是关闭 function setFileOpenedOrClosed(bool) { IsFileOpened = bool; fileType = TANGER_OCX_OBJ.DocType ; } function Trim(str) { //删除左右两端적공간 return str.replace(/(^s*)|(s*$)/g, ""); }
//设置사용자 이름 function TANGER_OCX_SetDocUser(cuser) { with(TANGER_OCX_OBJ.ActiveDocument.Application) { UserName = cuser; 사용자 이니셜=사용자; } } function addServerSecSign() { var signUrl=document.all("secSignFileUrl").options[document.all("secSignFileUrl").selectedIndex].value; if(IsFileOpened) { if(TANGER_OCX_OBJ.doctype==1||TANGER_OCX_OBJ.doctype==2) { 시도 {TANGER_OCX_OBJ.AddSecSignFromURL("ntko" ,signUrl);} catch(error){} } else {alert("不能在该类型文档中使档档档運印章.");} } } 함수 addLocalSecSign() { if(IsFileOpened) { if(TANGER_OCX_OBJ.doctype==1||TANGER_OCX_OBJ.doctype==2) { try {TANGER_OCX_OBJ.AddSecSignFromLocal("ntko","");} catch(error){} } else {alert("不能在该类型文档中使用안전전명印章.");} } } function addEkeySecSign() { if(IsFileOpened) { if(TANGER_OCX_OBJ.doctype==1| |TANGER_OCX_OBJ.doctype==2) { 시도 {TANGER_OCX_OBJ.AddSecSignFromEkey("ntko");} catch(오류){} } else {alert("不能在该类型文档中使用안전한전명印章.");} } } function addHandSecSign() { if(IsFileOpened) { if(TANGER_OCX_OBJ.doctype==1||TANGER_OCX_OBJ.doctype==2) { 시도 {TANGER_OCX_OBJ.AddSecHandSign("ntko");} catch(error){} } else {alert("不能在该类型文档中使用안전하게 이름을 짓습니다.");} } }
function addServerSign(signUrl) { if(IsFileOpened) { 시도 { TANGER_OCX_OBJ.AddSignFromURL("ntko",//印章적용户name signUrl,//印章所在服务器상对url 100,//左边距 100,//上边距 根据Relative的设定选择不同参对象 "ntko",//调用DoCheckSign函数签name印章信息,用来验证印章의 글자串 3, //친척,取值1-4。다음 개체의 위치를 기준으로 왼쪽 여백과 위쪽 여백을 설정합니다. 1: 커서 위치; 2: 페이지 여백; 3: 페이지 거리 4: 기본 설정 막대, 단락 100, // 크기 조정 씰, 기본값 100% 1); //0 씰은 텍스트 아래에 있고 1은 텍스트 위에 있습니다.
} catch(error){} } }
함수 addLocalSign() { if(IsFileOpened) { try { TANGER_OCX_OBJ.AddSignFromLocal("ntko",//씰의 사용자 이름 "" ,//기본 파일 이름 true, // 100을 선택하라는 메시지가 표시되는지 여부, //왼쪽 여백 100, //상단 여백은 상대 "ntko", //DoCheckSign 함수 시그니처를 호출합니다. Seal 정보, Seal을 확인하는 데 사용되는 문자열 3, //Relative, 값 1-4의 위치를 기준으로 왼쪽 여백과 위쪽 여백을 설정합니다. 다음 개체: 1: 커서 위치; 2: 페이지 여백; 3: 페이지 거리 4: 기본 설정 열, 단락 100, //배율 봉인, 기본값 100% 1) //0 봉인은 아래에 있습니다. text, 1은 텍스트 위에 있습니다 } catch(error) {} } } function addPicFromUrl(picURL) { if(IsFileOpened) { if(TANGER_OCX_OBJ.doctype==1||TANGER_OCX_OBJ.doctype= =2) { try { TANGER_OCX_OBJ.AddPicFromURL(picURL, //사진의 URL 주소 상대 주소 또는 절대 주소일 수 있음 false, //부동 여부에 관계없이 이 매개변수는 다음으로 설정됩니다. false인 경우 위쪽과 왼쪽이 유효하지 않습니다. 100, //왼쪽 왼쪽 여백 100, //top 위쪽 여백은 Relative 1, //Relative, 값 1-4 설정에 따라 다른 참조 개체를 선택합니다. 다음 개체의 위치를 기준으로 왼쪽 여백과 위쪽 여백을 설정합니다. 1: 커서 위치; 여백 3: 페이지 거리 4: 기본 설정 표시줄, 단락 100, // 크기 조정 봉인, 기본값 100% 1) //0 봉인은 텍스트 아래, 1은 위
} catch(error){} } else {alert("이 형식에서는 사용할 수 없습니다. 문서에 보안 서명 씰을 사용하세요.");} } } function addPicFromLocal() { if(IsFileOpened) { try { TANGER_OCX_OBJ.AddPicFromLocal("",//스탬프 사용자 이름 true,//기본 파일 이름 false,//선택하라는 메시지를 표시할지 여부 100,//왼쪽 여백 100, //상단 여백은 상대 1, //상대적, 값은 1-4입니다. 다음 개체의 위치를 기준으로 왼쪽 여백과 위쪽 여백을 설정합니다. 1: 커서 위치; 2: 페이지 여백; 3: 페이지 거리 4: 기본 설정 막대, 단락 100, // 크기 조정 씰, 기본값 100% 1); //0 씰은 텍스트 아래에 있고 1은 텍스트 위에 있습니다. } catch(error){} } }
function TANGER_OCX_AddDocHeader(strHeader) { if(!IsFileOpened) {return;} var i,cNum = 30; var lineStr = ""; try { for( i=0 ;iwith(TANGER_OCX_OBJ.ActiveDocument.Application) { Selection.HomeKey(6,0); home Selection.TypeText(strHeader); Selection.TypeParagraph(); //줄 바꿈 Selection.TypeText(lineStr) //밑줄 삽입 // Selection.InsertSymbol(95," ",true) ; //밑줄 삽입 Selection.TypeText("★"); Selection.TypeText(lineStr); //밑줄 삽입 Selection.TypeParagraph(); //Selection .MoveUp(5 , 2, 1); //두 줄 위로 이동하고 Shift 키를 누르세요. 이는 두 줄을 선택하는 것과 같습니다. Selection.HomeKey(6,1); //모든 텍스트를 처음부터 선택합니다. 파일 Selection.ParagraphFormat.Alignment = 1; //가운데 정렬 with(Selection.Font) { NameFarEast = "宋体"; 🎜>크기 = 12; Bold = false; Underline = 0; UnderlineColor = 0; >윤곽선 = false; 그림자 = false; SmallCaps = false; 조각 = false; 간격 = 0; 위치 = 0 애니메이션 🎜>DisableCharacterSpaceGrid = false; EmphasisMark = 0; } Selection.MoveDown(5, 3, 0) //3줄 아래로 이동 } } catch( err){ alert("오류:" err.number ":" err.description); } 마침내{ } }
function insertRedHeadFromUrl(headFileURL ) { if(TANGER_OCX_OBJ.doctype!=1)//TANGER_OCX_OBJ.doctype=1이 단어 문서인 경우 {return;} TANGER_OCX_OBJ.ActiveDocument.Application.Selection.HomeKey(6, 0);// 커서를 문서의 시작 부분으로 이동 TANGER_OCX_OBJ.addtemplatefromurl(headFileURL); //빨간 머리 문서를 커서 위치에 삽입 } function openTemplateFileFromUrl(templateUrl) { TANGER_OCX_OBJ.openFromUrl(templateUrl); } function doHandSign() { /*if(TANGER_OCX_OBJ.doctype==1||TANGER_OCX_OBJ.doctype==2)// 여기 설정은 단어로만 스탬핑을 허용하며 excel .doctype=1은 "단어" 문서이고, doctype=2는 "excel" 문서입니다 {*/ TANGER_OCX_OBJ.DoHandSign2( "ntko", //자필 서명 사용자 이름 "ntko" ,//signkey, DoCheckSign(봉인 확인 기능)에서 요구하는 인증키입니다. 0,//left 0,//top 1,//relative, 서명 위치의 참조 개체를 설정합니다. 0: 이때 화면 위치에 따라 삽입한다는 의미입니다. 및 상위 속성은 사용할 수 없는 효과입니다.1: 커서 위치 2: 페이지 여백 3: 페이지 간격 4: 기본 설정 열, 단락(이전 버전 기본 방법과의 호환성을 위해) 100) } 함수 SetReviewMode(boolvalue) { if(TANGER_OCX_OBJ.doctype==1) { TANGER_OCX_OBJ.ActiveDocument.TrackRevisions = boolvalue;//추적 유지 여부 설정 } }
function setShowRevisions(boolevalue) { if(TANGER_OCX_OBJ.doctype==1) { TANGER_OCX_OBJ.ActiveDocument.ShowRevisions =boolevalue;//추적 표시 여부 설정 } } //모든 개정 승인 또는 취소 function TANGER_OCX_AllRevisions(bool) { if(bool) { TANGER_OCX_OBJ.ActiveDocument.AcceptAllRevisions() ;/ /모든 추적 개정 승인 } else { TANGER_OCX_OBJ.ActiveDocument.Application.WordBasic.RejectAllChangesInDoc();//모든 추적 개정 거부 } } function setFilePrint(boolvalue) { TANGER_OCX_OBJ.fileprint=boolvalue;//인쇄 허용 여부 } function setFileNew(boolvalue) { TANGER_OCX_OBJ.FileNew=boolvalue; / /새로 생성 허용 여부 } function setFileSaveAs(boolvalue) { TANGER_OCX_OBJ.FileSaveAs=boolvalue;//다른 이름으로 저장 허용 여부 }
function setIsNoCopy(boolvalue) { TANGER_OCX_OBJ.IsNoCopy=boolvalue;//붙여넣기 금지 여부 } function DoCheckSign() { if(IsFileOpened) { var ret = TANGER_OCX_OBJ.DoCheckSign ( false,/*선택적 매개변수 IsSilent의 기본값은 FAlSE입니다. 이는 확인 대화 상자가 팝업된다는 의미입니다. 그렇지 않으면 확인 결과를 반환 값으로 반환합니다*/ "ntko"//표지 장 기호 키 사용, 여기는 "ntko"입니다 ) //반환 값, 확인 결과 문자열 //alert(ret) } } function setToolBar() { TANGER_OCX_OBJ.ToolBars=!TANGER_OCX_OBJ.ToolBars; } function setMenubar() { TANGER_OCX_OBJ.Menubar=!TANGER_OCX_OBJ.Menubar; >} 함수 setInsertMemu() { TANGER_OCX_OBJ.IsShowInsertMenu=!TANGER_OCX_OBJ.IsShowInsertMenu; } 함수 setEditMenu() { TANGER_OCX_OBJ.IsShowEditMenu=!TANGER _OCX_ OBJ .IsShowEditMenu; } function setToolMenu() { TANGER_OCX_OBJ.IsShowToolMenu=!TANGER_OCX_OBJ.IsShowToolMenu; }
//사용자 정의 메뉴 추가 initCustomMenus1() { var myobj = TANGER_OCX_OBJ; for(var menuPos=0;menuPos<1;menuPos ) { myobj.AddCustomMenu2(menuPos,"공통 기능" "( &" menuPos ")") ; for(var submenuPos=0;submenuPos<1;submenuPos ) { myobj.AddCustomMenuItem2(menuPos,submenuPos,-1,true,"인쇄 설정" ,false); // 하위 메뉴 항목 추가 for(var subsubmenuPos=0;subsubmenuPos<3;subsubmenuPos) { if(0 ==subsubmenuPos)//하위 메뉴 항목 추가 { myobj.AddCustomMenuItem2 (menuPos,submenuPos,subsubmenuPos,false, "인쇄 영역 설정",false,menuPos*100 submenuPos*20 subsubmenuPos) } if(1 ==subsubmenuPos) //하위 메뉴 항목 추가 { myobj.AddCustomMenuItem2(menuPos,submenuPos,subsubmenuPos,false, "인쇄 영역 취소",false,menuPos*100 submenuPos*20 subsubmenuPos) if(2== subsubmenuPos) { myobj.AddCustomMenuItem2(menuPos,submenuPos,subsubmenuPos,false, "손으로 쓴 주석",false,menuPos*100 submenuPos*20 subsubmenuPos) } } } } } //제어 제어 function controlStyle() { var myobj = TANGER_OCX_OBJ for(var menuPos= 0;menuPos<1; menuPos ) { myobj.AddCustomMenu2(menuPos,"Control Style" "(&" menuPos ")"); ;submenuPos ) { myobj.AddCustomMenuItem2(menuPos,submenuPos,-1,true,"크기 변경",false) //하위 메뉴 항목 추가 for(var subsubmenuPos=0;subsubmenuPos< ;2;subsubmenuPos) { if(0 ==subsubmenuPos)//하위 메뉴 항목 추가 { myobj.AddCustomMenuItem2(menuPos,submenuPos,subsubmenuPos,false, "전체 보기 웹 페이지",false,menuPos* 100 submenuPos*20 subsubmenuPos); } if(1 ==subsubmenuPos)//하위 메뉴 항목 추가 { myobj.AddCustomMenuItem2(menuPos,submenuPos,subsubmenuPos ,false, " 원래 크기 복원",false,menuPos*100 submenuPos*20 subsubmenuPos) } } } } } //변경 현재 웹 페이지의 가시 영역에 대한 컨트롤의 크기 function objside() { document.all.officecontrol.style.position="absolute" document.all. officecontrol.style.left="0px"; document.all .officecontrol.style.top="0px"; document.all.officecontrol.style.width=document.body.clientWidth;//너비 웹 페이지의 가시 영역 document.all.officecontrol.style.height=document .body.clientHeight;//웹 페이지의 가시 영역이 높습니다 } / /컨트롤의 표시 크기 복원 function objside2() { document.all.officecontrol.style.position="relative " document.all.officecontrol.style.left=" 0px"; document.all.officecontrol.style.top="0px"; document.all.officecontrol.style.width=" 100%"; document.all.officecontrol.style.height ="980px" } //显示或隐藏文档控件对象 function ObjectDisplay(boolvalue) { var obj=document.getElementById("objside"); if(!boolvalue) { obj.style.display="none"; } 그 외 { obj.style.display="block"; } }
/** * 시간 개체 형식 지정 */ Date.prototype.format = function(format){ /* * 예:format=" YYYY-MM-dd hh:mm:ss"; */ var o = { "Y ":this.getYear(),//年 "M " : this.getMonth() 1, //월 "d " : this.getDate(), //일 "h " : this.getHours(), //시간 "m " : this.getMinutes(), //분 "s " : this.getSeconds(), //초 "q " : Math.floor((this.getMonth() 3)/3), //quarter "S" : this.getMilliseconds() //밀리초 }