2016-11-24 968 views
0

我正在使用Google表單從用戶那裏收集日期,他們使用日期選擇器。格式是美國與mm/dd/yy(1/25/2016),但我需要歐盟格式dd/mm/yy(25/1/2016)。將日期格式從mm/dd/yy更改爲dd/mm/y

的腳本收集藪日期:

var Date1 = e.values[24]; 
    var Date2 = e.values[25]; 
    var Date3 = e.values[26]; 
    var Date4 = e.values[27]; 
    var Date5 = e.values[28]; 

我怎樣才能將這些歐盟的日期格式?

這是iv'e到目前爲止已經試過沒有成功:

1)

function myFunction() { 
     var preDate = "1/25/2016"; 
     var postDate = preDate.Utilities.formatDate(dt, "PST", "dd/mm/yy"); 
     Logger.log(postDate); 
    } 

錯誤:類型錯誤:無法調用 「formatDate」 的定義。

2)

function myFunction() { 
    var preDate = "1/25/2016"; 
    var postDate = Date.parseExact(preDate ,"dd/MM/yyyy") 
    Logger.log(postDate); 
} 

錯誤:類型錯誤:在找不到對象函數日期功能parseExact(){[對Date.Date本機代碼,元數= 1]}

+0

什麼是「EU」格式? d/m/y被廣泛使用,不僅在歐盟成員國中。 – RobG

回答

2

如果你有一個谷歌電子表格的日期,你可以使用Utilities.formatDate方法日期轉換成另一種格式。

function convertDate() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var source = sheet.getRange("A1").getValue(); 
    if (typeof source === "date") { 
    sheet.getRange("B1").setValue(Utilities.formatDate(dt, "PST", "dd/mm/yy")); 
    } 
} 

一個更容易的辦法是你選擇在電子表格中整列和改變格式菜單下的默認格式(見截圖)。

Change Date Format in Spreadsheet

+0

是的,但腳本會因各種原因提取表單值,而不是電子表格中的值。正如你可以在我的例子中看到的「e.values [26];」 =表單值。 –

+0

可以修改相同的函數: if(typeof e.values [26] ===「date」){ return Utilities.formatDate(e [26],「PST」,「dd/mm/yy」)) ; } –

+0

試過了,我在記錄器中得到'undefined'。 –

1

可以使用DateJS爲,像這樣:

http://code.google.com/p/datejs/wiki/APIDocumentation#parseExact

Date.parseExact("10/15/2004", "M/d/yyyy"); // The Date of 15-Oct-2004 
Date.parse("15-Oct-2004", "d-MMM-yyyy"); // The Date of 15-Oct-2004 
Date.parse("2004.10.15", "yyyy.MM.dd");  // The Date of 15-Oct-2004 
Date.parseExact("10/15/2004", ["M/d/yyyy", "MMMM d, yyyy"]); // The Date of 15-Oct-2004 

在你的問題,你需要的是:

Date.parseExact("dateyouneed" ,"dd/MM/yyyy") 
+0

我試着這個沒有成功的函數myFunction(){ var Date =「1/25/2016」; var newDate = Date.Utilities.formatDate(dt,「PST」,「dd/mm/yy」); Logger.log(newDate); } –

+0

如果意圖是重新格式化一個字符串,那麼根本不需要參與Date對象(或分析器),參見[* Javascript格式日期從字符串到日期格式*](http:// stackoverflow.com/questions/23308877/javascript-format-date-from-string-to-date-format)。 – RobG