J'ai beaucoup de dates dans la première colonne du format affiché par IFTTT
:
August 23, 2010 at 11:01PM
Existe-t-il un moyen de les formater de manière à ce que je puisse ensuite les utiliser pour les calculs de date et d’heure?
Idéalement, la fonction ne prendra qu'une colonne supplémentaire.
J'utilise cette formule pour convertir les valeurs date-heure IFTTT dans un format utile:
=VALUE(SUBSTITUTE(A1, " at ", " "))
Où A1 est la cellule contenant la chaîne de date
Cela vous donne un nombre décimal que vous pouvez formater comme "Date Time".
La fonction personnalisée suivante transformera la notation de date sous forme de chaîne en notation de date:
function myDate(range) {
var output = [];
for(var i=0, iLen=range.length; i<iLen; i++) {
var rSplit = range[i][0].split(" "), corr = 0;
if(rSplit[4].substring(5,7) == "PM") {
corr = 10;
}
var month = parseInt(new Date(Date.parse(rSplit[0]+"1,2013")).getMonth());
var day = parseInt(rSplit[1].replace(/,/g, ""));
var year = parseInt(rSplit[2]);
var hour = parseInt(rSplit[4].substring(0,2))+corr;
var min = parseInt(rSplit[4].substring(3,5),10);
var nDate = new Date(year, month, day, hour, min);
output.Push([nDate]);
}
return output;
}
Une correction est apportée pour tenir compte de AM/PM
. Pas de correction pour GMT
. Ajoutez ce script via le menu Tools
de la feuille de calcul et sélectionnez Script editor
. Enregistrez le script et vous êtes prêt à partir!
myDate(A1:A4)
J'ai créé un exemple de fichier pour vous: chaîne date à date