2016-11-09 56 views

回答

2

好吧,我正在回答我自己的问题,如果有人感兴趣。

首先,您必须创建一个联系人组,以便对联系人进行分类(在代码中为“Tiny”,但您可以将其命名为whish)。 其次,在创建联系人时,应该添加一个注释,如;如果您希望联系人在2个月后或“1年”等期间被删除,则需要“2个月”。该代码仅实施几个月和一年,但如果您需要另一个时间段(如几天或几周),则该代码很容易修改。

下面的代码:

function deleteTinyContacts() { 
var group = ContactsApp.getContactGroup("Tiny"); 
var contacts = ContactsApp.getContactsByGroup(group) 
var hoy = new Date(); 
Logger.log("today is " + hoy); 
Logger.log("total contacts to delete: " + contacts.length); 

for (var i = 0; i < contacts.length; i++) { 
var date = contacts[i].getLastUpdated(); 
Logger.log(contacts[i].getFullName() + " was updated last in " + date); 

var datediff = DateDiff.inMonths(date,hoy); 
Logger.log("contact updated " + datediff + " months ago"); 

var note = contacts[i].getNotes(); 
var res = note.split(" "); 
var Tmonths = calcMonths(res[1]); 
var todelete = res[0]*Tmonths; 
Logger.log("contact must be deleted after " + todelete + " months"); 

if (datediff>=todelete){ 
group.removeContact(contacts[i]);  
} 
} 
} 

var DateDiff = {  
inDays: function(d1, d2) { 
    var t2 = d2.getTime(); 
    var t1 = d1.getTime(); 

    return parseInt((t2-t1)/(24*3600*1000)); 
}, 
inWeeks: function(d1, d2) { 
    var t2 = d2.getTime(); 
    var t1 = d1.getTime(); 

    return parseInt((t2-t1)/(24*3600*1000*7)); 
}, 
inMonths: function(d1, d2) { 
    var d1Y = d1.getFullYear(); 
    var d2Y = d2.getFullYear(); 
    var d1M = d1.getMonth(); 
    var d2M = d2.getMonth(); 

    return (d2M+12*d2Y)-(d1M+12*d1Y); 
}, 
inYears: function(d1, d2) { 
    return d2.getFullYear()-d1.getFullYear(); 
} 
} 
function calcMonths(str){ 
if(str=="año"){return 12;} 
else if(str=="mes"){return 1;} 
} 
相关问题