2013-12-20 2 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) 
} 

Logging Выходные данные показывают: 12/03/2012

+0

Это было бы хорошо. Но будет ли это работать только на дату, которая составляет именно «12 .03.012»? Я думаю, что часть проблемы - это лист, который не знает его дату, потому что первое число - это DD, и оно не ожидает числа больше 12. –

+0

wait .. Это был немой вопрос. Я могу добавить, что ячейки не работают, чтобы исправить это. 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

Это действительно круто , Нужно ли мне делать что-нибудь особенное, чтобы заставить это работать в сценарии google? –

+0

Я не знаю, я никогда не делал сценарий приложений для Google, но вы, вероятно, можете просто ссылаться на moment.js – dezman

Смежные вопросы