巫繼鵬 王櫻子 呂毅斌 蔡光程 吳 強(qiáng)
(1.昆明理工大學(xué)理學(xué)院 昆明 650500)(2.昆明理工大學(xué)計(jì)算中心 昆明 650500)
?
可擴(kuò)展數(shù)學(xué)公式編輯器的設(shè)計(jì)與實(shí)現(xiàn)*
巫繼鵬1王櫻子2呂毅斌1蔡光程1吳強(qiáng)1
(1.昆明理工大學(xué)理學(xué)院昆明650500)(2.昆明理工大學(xué)計(jì)算中心昆明650500)
摘要針對(duì)當(dāng)前對(duì)數(shù)學(xué)公式不能有效地保存與重用的現(xiàn)狀,提出了一種可擴(kuò)展的數(shù)學(xué)公式編輯器的實(shí)現(xiàn)方案。它利用數(shù)學(xué)公式本身結(jié)構(gòu)上多層嵌套的特點(diǎn),使用鏈表結(jié)構(gòu)描述數(shù)學(xué)公式,在Java平臺(tái)下實(shí)現(xiàn)。該編輯器能夠在自由編輯的基礎(chǔ)上自動(dòng)化地處理用戶輸入的數(shù)學(xué)公式,使得數(shù)學(xué)公式在界面上顯示的同時(shí)得以以MathML標(biāo)記的形式保存下來(lái),從而使用戶對(duì)輸入的數(shù)學(xué)公式做進(jìn)一步的計(jì)算或傳輸?shù)仍偌庸こ蔀榭赡?并且通過(guò)Java平臺(tái)易于對(duì)數(shù)式對(duì)象做進(jìn)一步的處理和解析。具有很強(qiáng)的靈活性、可擴(kuò)展性。
關(guān)鍵詞數(shù)學(xué)公式; 公式編輯器; 可擴(kuò)展性; 鏈表結(jié)構(gòu); Java; MathML
Design and Implementation of A Expandable Mathematical Formula Editor
WU Jipeng1WANG Yingzi2LV Yibin1CAI Guangcheng1WU Qiang1
(1. Faculty of Science, Kunming University of Science and Technology, Kunming650500)
(2. Computer Center, Kunming University of Science and Technology, Kunming650500)
AbstractIn this paper, a method of design mathematical formula editor is proposed based on Mathematical Markup Language(MathML) for the current mathematical formula cannot effectively preserve and reuse. In our method, the editor can create a mathematical formula based on Java platform using a linked list structure, and automatically handle mathematical formula which is inputted by the users, and it has very great flexibility and extensibility. Therefore mathematical formula is displayed on the screen and preserved in the form of MathML markup. Finally it is possible to allow users to calculate and transmit the inputted mathematical formulas.
Key Wordsmathematical, formula, formula editor, expandable, linked list structure, Java, MathML
Class NumberTP391
1引言
隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,越來(lái)越多的人通過(guò)電腦軟件和Web應(yīng)用來(lái)獲取和傳播知識(shí)。如今,我國(guó)的高校都已廣泛采用多媒體手段輔助教學(xué),各種在線教育平臺(tái)也正在興起,便捷的網(wǎng)絡(luò)為我們帶來(lái)了更多的學(xué)習(xí)的機(jī)會(huì),但也存在這一些亟待解決的問(wèn)題。在理工科,尤其是數(shù)學(xué)、物理等理科領(lǐng)域的教學(xué)、學(xué)術(shù)交流和科學(xué)計(jì)算中,數(shù)學(xué)公式和符號(hào)的輸入、顯示和傳輸以及對(duì)數(shù)式的進(jìn)一步處理和解析都是相當(dāng)復(fù)雜的問(wèn)題[1]。
目前實(shí)現(xiàn)數(shù)學(xué)公式編輯器GUI主要有以下兩種方式: 1) 采用JavaScript腳本語(yǔ)言實(shí)現(xiàn),如MathEdit[2]; 2) 采用Java Applet編寫,代表的有Design Science的WebEQ[3]。這兩種數(shù)學(xué)公式編輯器可以實(shí)現(xiàn)在線編輯,并通過(guò)將數(shù)式轉(zhuǎn)換為MathML(Mathematical Markup Language)[4]實(shí)現(xiàn)數(shù)式的保存。但需要網(wǎng)絡(luò)環(huán)境,需要提供網(wǎng)絡(luò)服務(wù)器。前者數(shù)式對(duì)象在客戶端保持,難以直接利用;后者需要安裝相應(yīng)的Java插件,而且公式一旦提交后再修改必須重新輸入新的公式,比較繁瑣。兩種方式實(shí)現(xiàn)的數(shù)學(xué)公式編輯器可擴(kuò)展性不理想。
本文旨在介紹一種通過(guò)Java Swing編寫的輕量級(jí)的數(shù)學(xué)公式編輯器(Math Formula Editor),將數(shù)學(xué)公式作為Java對(duì)象保持,并實(shí)現(xiàn)數(shù)式對(duì)象與MathML的相互轉(zhuǎn)換,實(shí)現(xiàn)數(shù)式的保存。本編輯器運(yùn)行在客戶端,響應(yīng)速度快,不需要安裝,只需點(diǎn)擊提供的exe文件即可運(yùn)行。它的特點(diǎn)是不但保留了傳統(tǒng)公式編輯器對(duì)公式的可視化輸入方法,而且最重要的是數(shù)式以Java對(duì)象保持,這樣既可以在后臺(tái)將公式本身的數(shù)學(xué)意義以標(biāo)記語(yǔ)言MathML的形式保存,又使對(duì)數(shù)式做進(jìn)一步的計(jì)算和解析成為可能,具有很強(qiáng)的可擴(kuò)展性。
2常用數(shù)學(xué)公式信息處理手段
數(shù)學(xué)公式的信息處理包含兩個(gè)方面:公式的顯示和存儲(chǔ)。人們對(duì)計(jì)算機(jī)當(dāng)中的數(shù)學(xué)公式的需求已經(jīng)不僅僅是在屏幕上顯示出來(lái)或是打印,而是能夠自由地修改,保存甚至直接對(duì)其進(jìn)行計(jì)算,這就需要對(duì)其采用特殊的處理手段。目前,有如下幾種對(duì)數(shù)學(xué)公式的處理手段[5]。
2.1數(shù)學(xué)公式圖像化
利用一些開(kāi)源的數(shù)學(xué)公式圖像化處理軟件將公式轉(zhuǎn)化成PNG、JPG等圖像文件再將圖像嵌入到需要引用的位置,如文檔、網(wǎng)頁(yè)等。這樣的處理方式事實(shí)上只是解決了公式的顯示問(wèn)題,表示出來(lái)的公式只有形而沒(méi)有義,不能直接對(duì)公式進(jìn)行處理;而且,以圖片形式保存的公式比起文本形式所占的系統(tǒng)資源要大得多,不利于傳輸和保存;此外,過(guò)程中還需要其他軟件的支持,操作繁瑣。
2.2數(shù)學(xué)語(yǔ)言描述
有很多數(shù)學(xué)軟件有自己的編程體系,如Matlab、Mathematica、Maple,在它們的編程語(yǔ)言中給用戶提供了數(shù)學(xué)公式的表示方法。與第一種方式相反,這種方法只解決了數(shù)學(xué)公式的處理問(wèn)題,表示出來(lái)的公式只有義而沒(méi)有形,不能很直觀地描述公式。更重要的是,對(duì)于數(shù)學(xué)計(jì)算資源跨平臺(tái)的調(diào)用,不同的數(shù)學(xué)計(jì)算軟件或者數(shù)據(jù)庫(kù)可能有完全不同的語(yǔ)言規(guī)范,用戶必須用該軟件或數(shù)據(jù)庫(kù)規(guī)定的語(yǔ)言來(lái)描述問(wèn)題,而采用一種軟件所規(guī)定語(yǔ)言書寫的任務(wù)程序往往難以被另一種軟件理解。
2.3數(shù)學(xué)標(biāo)記描述
現(xiàn)在也有一些人為約定的可以用于表示數(shù)學(xué)公式的語(yǔ)言規(guī)范,如LaTex[6]、MathML等為人熟知的語(yǔ)言。與數(shù)學(xué)編程語(yǔ)言不同的是,無(wú)論是排版語(yǔ)言LaTex[7]還是標(biāo)記語(yǔ)言MathML都不受平臺(tái)的局限,即這是一種通用的可跨平臺(tái)的標(biāo)準(zhǔn)化的表示方式。利用這兩種語(yǔ)言作為中間數(shù)據(jù)格式可以實(shí)現(xiàn)公式顯示和存儲(chǔ)之間的自由轉(zhuǎn)換。但盡管LaTex是公認(rèn)的標(biāo)準(zhǔn)排版格式,其本質(zhì)與采用圖片保存的方式區(qū)別不大,數(shù)學(xué)符號(hào)將被當(dāng)作小圖形文件進(jìn)行拼接,仍然存在不可修改的問(wèn)題。為了實(shí)現(xiàn)方便存儲(chǔ)和即時(shí)修改,最優(yōu)的選擇就是使用數(shù)學(xué)標(biāo)記語(yǔ)言MathML來(lái)描述數(shù)學(xué)公式。
3基于MathML的數(shù)學(xué)公式的表示方法
MathML是國(guó)際互聯(lián)網(wǎng)標(biāo)準(zhǔn)組織W3C(World Wide Web Consortium)制定的描述數(shù)式的語(yǔ)言,是計(jì)算機(jī)之間交換數(shù)學(xué)信息的基本標(biāo)準(zhǔn)。它完全采用XML的定義規(guī)范,繼承了XML的大部分優(yōu)點(diǎn),具有強(qiáng)大的數(shù)學(xué)公式表達(dá)能力[8]。在2010年10月發(fā)布了最新版MathML 3.0[9]。
MathML提供兩種描述數(shù)學(xué)公式的標(biāo)記:Presentation標(biāo)記和Content標(biāo)記。這兩種標(biāo)記都可以完整地描述任何一個(gè)數(shù)學(xué)公式,但是它們的側(cè)重點(diǎn)不同:前者用來(lái)描述數(shù)學(xué)表達(dá)式的二維布局結(jié)構(gòu),它更注重表達(dá)式的顯示方式;后者描述用于計(jì)算和處理的數(shù)學(xué)信息,它更關(guān)注表達(dá)式的內(nèi)在含義。
MathML使用標(biāo)記語(yǔ)言文本的形式來(lái)描述數(shù)學(xué)公式[10],很好地解決了過(guò)去Web中使用圖片表達(dá)公式的缺點(diǎn)。它本身所具有的樹形結(jié)構(gòu)與遞歸性使得開(kāi)發(fā)人員在編程時(shí)可以方便、快捷的實(shí)現(xiàn)。可以說(shuō),用MathML表達(dá)的數(shù)學(xué)公式,不僅準(zhǔn)確地描述了其數(shù)學(xué)含義,而且可以自由地在其他的程序中對(duì)其進(jìn)行轉(zhuǎn)換和再利用。
此外、MathML能較好地嵌入到HTML文件中,目前IE瀏覽器、Firefox等瀏覽器支持MathML的顯示。
4數(shù)式編輯器的設(shè)計(jì)
4.1數(shù)學(xué)公式的基本結(jié)構(gòu)
數(shù)學(xué)公式的基本結(jié)構(gòu)指其表現(xiàn)形式。常見(jiàn)的數(shù)式類型有上下標(biāo)、分式、根式、層疊式和矩陣行列式等[11]。這里數(shù)學(xué)公式的基本結(jié)構(gòu)采用框式構(gòu)造法(Box-type Structure Grammar,BSG)描述,框式構(gòu)造簡(jiǎn)稱Box構(gòu)造。
圖1所示為常見(jiàn)的幾種數(shù)式Box構(gòu)造例。
圖1 數(shù)式Box例
分式可以認(rèn)為是ColumnBox構(gòu)造,極限、累加和、累乘、積分類型的數(shù)式可以看作RowBox和ColumnBox構(gòu)造的組合,同樣矩陣、行列式也可以認(rèn)為是RowBox和ColumnBox構(gòu)造的組合。
以上各種數(shù)式Box嵌套使用,可以表示復(fù)雜的數(shù)式。
4.2數(shù)學(xué)公式的數(shù)據(jù)結(jié)構(gòu)
4.3數(shù)學(xué)公式的繪制方法設(shè)計(jì)
公式的顯示主要包括繪制符號(hào)和繪制圖形兩部分。其中符號(hào)包括常用的數(shù)學(xué)符號(hào),而圖形則是指如分?jǐn)?shù)線、根號(hào)等需要靈活調(diào)整且無(wú)特定編碼的數(shù)學(xué)符號(hào)。
對(duì)于不同類型的公式來(lái)說(shuō),在一些特征上的處理也各有區(qū)別。在編寫時(shí)需要考慮公式的中心位置,對(duì)齊位置、長(zhǎng)度、高度等等,且必須要考慮它們的實(shí)時(shí)變化。
4.4公式編輯器的功能設(shè)計(jì)
為了方便用戶的輸入,編輯器具備以下幾個(gè)功能:
1) 光標(biāo)的自由切換
光標(biāo)的作用是記錄用戶當(dāng)前的輸入位置,用戶的操作應(yīng)當(dāng)在光標(biāo)處執(zhí)行,用戶通過(guò)鼠標(biāo)的點(diǎn)擊和鍵盤的控制可以改變光標(biāo)的位置[2]。不同的光標(biāo)位置對(duì)應(yīng)的占位符情況如圖2所示。
圖2 當(dāng)前光標(biāo)位置及占位符
2) 輸入內(nèi)容的回刪
從實(shí)際應(yīng)用的角度看,用戶在輸入過(guò)程中難免出錯(cuò),應(yīng)該可以通過(guò)按鍵及鼠標(biāo)拖選的方式實(shí)現(xiàn)對(duì)出錯(cuò)部分的刪除。
3) 公式的保存
為了方便公式的再利用,提供數(shù)式MathML轉(zhuǎn)換器,實(shí)現(xiàn)數(shù)式與MathML標(biāo)記代碼的轉(zhuǎn)換,并以mml文件的形式保存。
4.5數(shù)學(xué)公式編輯器的體系結(jié)構(gòu)
數(shù)學(xué)公式編輯器包括數(shù)學(xué)公式的編輯和數(shù)學(xué)公式的保存兩大模塊,其體系結(jié)構(gòu)如圖3所示。
圖3 Math Formula Editor體系結(jié)構(gòu)圖
5數(shù)式編輯器的實(shí)現(xiàn)
5.1圖形界面的實(shí)現(xiàn)
數(shù)學(xué)公式編輯器(Math Formula Editor)GUI通過(guò)Java提供的Swing工具包實(shí)現(xiàn)[13]。軟件界面分為菜單欄、工具欄、編輯區(qū)域三個(gè)部分。其中文件菜單提供文件操作,實(shí)現(xiàn)數(shù)式與MathML的轉(zhuǎn)換并可以將轉(zhuǎn)換的MathML以mml文件的形式保存。工具欄提供常用的數(shù)學(xué)公式按鈕及常用函數(shù)、符號(hào)按鈕。而公式編輯區(qū)域則需要在面板的基礎(chǔ)上自行編寫,在界面初始時(shí)為空白區(qū)域。編輯區(qū)域的輸入分為兩部分:普通字符的輸入和公式的錄入。初始狀態(tài)為普通字符輸入狀態(tài),各公式按鈕為非工作模式,工具欄的“E”按鈕為普通字符與公式錄入功能的切換鍵,點(diǎn)擊“E”按鈕。效果如圖4:各公式按鈕為工作模式,可以實(shí)現(xiàn)任意公式的錄入、編輯。
除字符以外所有數(shù)式采用Box構(gòu)造,在編輯區(qū)以方框的形式存在,當(dāng)光標(biāo)位于數(shù)式方框外或另起一行時(shí),默認(rèn)為字符輸入模式,不顯示輸入數(shù)式的方框。如圖5所示。
圖4 公式編輯器初始界面
圖5 字符輸入模式窗口
5.2公式繪制的實(shí)現(xiàn)
數(shù)學(xué)公式編輯器(Math Formula Editor)的公式繪制分為兩個(gè)部分,一是根據(jù)用戶的輸入在編輯區(qū)域顯示相應(yīng)的輸入結(jié)果;二是實(shí)時(shí)地根據(jù)用戶新輸入的內(nèi)容調(diào)整已顯示的公式。其中第二部分是個(gè)難點(diǎn),也是非常重要的一個(gè)環(huán)節(jié)。例如,用戶在輸入分?jǐn)?shù)的分子或分母時(shí),隨其內(nèi)容的改變,分?jǐn)?shù)線應(yīng)隨之調(diào)整,保證公式的美觀。
在設(shè)計(jì)的部分,已經(jīng)將數(shù)式的數(shù)據(jù)結(jié)構(gòu)抽象為鏈表,因?yàn)橥粋€(gè)數(shù)式存在多層次的嵌套,所以可以采用遞歸的方式來(lái)處理,這在繪制數(shù)式時(shí)也同樣適用。
圖6 使用公式編輯器輸入
對(duì)復(fù)合數(shù)式的處理仍以求根公式為例。當(dāng)用戶點(diǎn)擊分式工具按鈕,在當(dāng)前光標(biāo)位置處生成分式對(duì)象輸入框,分式輸入框中以分?jǐn)?shù)線為中心軸,上下兩個(gè)子輸入框分別為分子、分母輸入框。隨著用戶的輸入,系統(tǒng)實(shí)時(shí)捕捉分式輸入框內(nèi)容的最大寬度從而動(dòng)態(tài)計(jì)算分?jǐn)?shù)線的長(zhǎng)度,并調(diào)整分式輸入框的寬度。當(dāng)用戶點(diǎn)擊根式工具按鈕時(shí),在光標(biāo)所在位置生成根式輸入方框。在程序內(nèi)部將根式對(duì)象作為分式對(duì)象的子對(duì)象處理,實(shí)現(xiàn)復(fù)雜數(shù)式對(duì)象的保持,從而使復(fù)雜數(shù)式的編輯成為可能。圖6為根式輸入效果圖。
5.3使用MathML保存數(shù)學(xué)公式
由于MathML本身的結(jié)構(gòu)與公式生成的結(jié)構(gòu)一致,可直接利用遞歸生成的方式產(chǎn)生MathML代碼,并自動(dòng)保存在mml文件中[14]。本編輯器生成的MathML基于W3C3.0標(biāo)準(zhǔn)[4]。下列是將分式轉(zhuǎn)化成MathML語(yǔ)言的代碼,
public String toMathML() {
StringBuildermathml = new StringBuilder();
mathml.append("〈mfrac〉 ");//分式標(biāo)記
mathml.append("〈mrow〉 ").append(nume.toMathML()).append("〈/mrow〉 ");//分子
mathml.append("〈mrow〉 ").append(deno.toMathML()).append("〈/mrow〉 ");//分母
mathml.append(" 〈/mfrac〉 ");s
returnmathml.toString();
}
圖7 公式以MathML形式保存
6結(jié)語(yǔ)
可擴(kuò)展的數(shù)學(xué)公式編輯器解決了傳統(tǒng)公式編輯器不能有效保存和重用數(shù)學(xué)公式的缺陷,為后續(xù)的對(duì)公式的計(jì)算與利用做出了鋪墊,有很大的實(shí)用價(jià)值。該編輯器操作簡(jiǎn)便,功能齊全,且具有一定的可移植性,可以推廣到在線平臺(tái)使用。為獲得更好的使用效果,還需增加對(duì)更多公式類型的支持,不斷完善并推廣這項(xiàng)應(yīng)用。
參 考 文 獻(xiàn)
[1] 古樂(lè)聲,朱家義,王建平.基于MathML的數(shù)學(xué)公式在線編輯與傳輸?shù)难芯縖J].計(jì)算機(jī)應(yīng)用與軟件,2009,26(8):93-95,132.
GU Yuesheng, ZHU Jiayi, WANG Jianping. On Online Editing and Transmitting Mathematics Formula Based on MathML[J]. Computer Applications and Software,2009,26(8):93-95,132.
[2] 趙燕娟,李廉,蘇偉,等.基于MathML的網(wǎng)絡(luò)數(shù)學(xué)公式編輯器的實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2008,34(7):76-78.
ZHAO Yanjuan, LI Lian, SU Wei, et al. Implementation of MathML-Based Web Mathematical Expressions Editor[J]. Computer Engineering,2008,34(7):76-78.
[3] 童寧江,古輝.WebEQ插件相關(guān)技術(shù)綜述[J].中國(guó)科技信息,2007,19(6):149-150.
TONG Ningjiang, GI Hui. A Technology Overview for WebEQ Plug-In[J]. China Science and Technology Information,2007,19(6):149-150.
[4] W3CMathWorkingGroup. MathML[EB/OL]. (2015-3-13)[2015-3-26]http://www.w3.org/Math/.
[5] 歐陽(yáng)辰.數(shù)學(xué)公式與WEB[J].計(jì)算機(jī)工程與應(yīng)用,2001,37(17):89-92.
OUYANG Chen. Mathematical formula and Web[J]. Computer Engineering and Applications,2001,37(17):89-92.
[6] LaTexWikipediaLaTex[EB/OL]. (2015-3-25)[2015-3-26]http://en.wikipedia.org/wiki/LaTeX.
[7] 劉海洋.LATEX入門[M].北京:電子工業(yè)出版社,2013,6:220-283.
LIU Haiyang. The Art of LATEX[M]. Beijing: Publishing House of Electronics Industry,2013,6:220-283.
[8] 劉峰,袁春風(fēng).基于MathML的數(shù)學(xué)表達(dá)式等價(jià)性的研究[J].計(jì)算機(jī)應(yīng)用研究,2004,21(11):54-56.
LIU Feng, YUAN Chunfeng. Research on the Equipollence of MathML-based Math Expressions[J]. Application Research of Computers,2004,21(11):54-56.
[9] W3C. MathML3.0[EB/OL].(2014-4-10)[2015-3-26]http://www.w3.org/TR/MathML3/.
[10] 劉瓊?cè)A.采用標(biāo)記語(yǔ)言構(gòu)造數(shù)學(xué)公式編輯器的方法[J].計(jì)算機(jī)工程,2003,29(18):82-83,121.
LIU Qionghua. Method of Constructing Mathematical Expression Editor by Using Markup Language[J]. Computer Engineering,2003,29(18):82-83,121.
[11] 曾青松.基于MathML的科技文獻(xiàn)公式編輯器的設(shè)計(jì)與實(shí)現(xiàn)[D].廣州:中山大學(xué),2005:1-59.
ZENG Qingsong. The Design and Implementation of Formula Editor for Scientific Documents Described with MathML[D]. Guangzhou: Sun Yat-sen University,2005:1-59.
[12] Mark Allen Weiss.數(shù)據(jù)結(jié)構(gòu)與算法分析(C++描述)[M].英文版,第三版.北京:人民郵電出版社,2006:71-77.
Mark Allen Weiss. Data Structures and Algorithm Analysis in C++[M]. Third Edition. Beijing: Posts & Telecom Press,2006:71-77.
[13] 呂校春,李玲莉.基于Swing的JavaGUI組件開(kāi)發(fā)[J].機(jī)械工程師,2008,(5):129-131.
LV Xiaochun, LI Lingli. Developing Java GUI Component Based on Swing[J]. Mechanical Engineer,2008,(5):129-131.
[14] 崔夢(mèng)天,趙海軍.基于MathML的在Web上表示和傳輸數(shù)學(xué)公式的方法[J].西安郵電學(xué)院學(xué)報(bào),2006,11(3):67-69.
CUI Mengtian, ZHAO haijun. Methods to resolve mathematical equation for MathML-based Web[J]. Journal of Xi’an Institute of Posts and Telecommunications,2006,11(3):67-69.
中圖分類號(hào)TP391
DOI:10.3969/j.issn.1672-9722.2016.02.041
作者簡(jiǎn)介:巫繼鵬,男,研究方向:信息與計(jì)算科學(xué)。王櫻子,女,碩士,講師,研究方向:網(wǎng)絡(luò)應(yīng)用系統(tǒng)的構(gòu)筑、設(shè)計(jì)及數(shù)學(xué)應(yīng)用軟件設(shè)計(jì)。呂毅斌,男,博士,副教授,研究方向:科學(xué)計(jì)算和圖像處理。蔡光程,男,博士,教授,研究方向:數(shù)字圖像處理中的運(yùn)動(dòng)物體跟蹤。吳強(qiáng),男,研究方向:信息與計(jì)算科學(xué)。
基金項(xiàng)目:國(guó)家自然科學(xué)基金項(xiàng)目(編號(hào):11461037);國(guó)家級(jí)大學(xué)生創(chuàng)新項(xiàng)目(編號(hào):201310674021)資助。
*收稿日期:2015年8月17日,修回日期:2015年9月27日