2013-12-20 131 views
0

我得到一個具有奇數日期格式dd.mm.yyy的批量報告,我希望能夠自動將它們全部轉換爲Google可以識別的日期,例如毫米/日/年。任何幫助都是極好的。我是一個正則表達式的n00b。Google Apps腳本 - 使用replaceText轉換日期格式

function myFunction() { 
    var doc = DocumentApp.getActiveDocument(); 
    var text = doc.editAsText(); 

// Change up the date format 
text.replaceText("c?c.c?c.cccc", "/"); 
} 

回答

1

,你可以根據分隔符拆分日期,然後像這樣的東西重新走到一起,你想怎麼搗爛他們:

function myFunction() { 
    text = '12.03.012' 
    textArray = text.split('.') 
    text = textArray[0]+'/'+textArray[1]+'/2'+textArray[2] 
    Logger.log(text) 
} 

日誌輸出顯示: 12/03/2012

+0

這將是很好的。但是,這隻適用於確切'12.03.012'的日期嗎?我認爲問題的一部分是工作表不知道它的日期,因爲第一個數字是DD,它不是期待大於12的數字。 –

+0

等待..這是一個愚蠢的問題。我可以添加單元格來解決這個問題.. happy friday –

+0

這種答案假定你的問題有一定的一致性。如果日期總是'dd.mm.yyy'的形式,那麼是的,這將適用於你。如果它是一個像'dd.mm.yyyy'的細微變化,那麼你可以做一些修改來適應,但如果它有不同的形式(例如一個有'mm.dd.yyy',但其他的則是'dd.mm .yyyy'和其他人......),那麼你將很難追查到它。 – bobkingof12vs

0

我會爲此使用momentjs。這樣你就可以直接進入一個javascript日期對象,而不必亂用regExps。您可以使用它們的parsing string-format api將您的格式轉換爲標準格式。

var legitDate = moment(oddlyFormatedDate, "MM-DD-YYYY"); // use MM DD etc to describe your odd date format. 
+0

這是真的很酷。我需要做些什麼特別的事情才能讓它在谷歌腳本中工作嗎? –

+0

我不知道,我從來沒有做過谷歌應用腳​​本,但你可能只是鏈接到moment.js – dezman

相關問題