Saya telah menemukan skrip pemeriksaan peringkat ini. Saya tidak yakin persis di mana saya menemukannya tetapi ini dibangun di Google Documents dan skrip yang mengotomatiskan proses pemeringkatan peringkat. Saya mengerti sedikit pengkodean tetapi tidak cukup untuk benar-benar mengetahui hal ini. Saya yakin seseorang di sini bisa mengetahuinya.
Script berjalan setiap malam, menanyakan Google untuk kata kunci saya dan kemudian mengisi sel kosong di Google Spreadsheet. Format tanggal yang muncul adalah15.06.2014 06:08:21
Saya ingin ini menjadi format tanggal yang lebih saya kenal, seperti mm/dd/yyyy
atau sesuatu seperti itu.
Bagaimanapun, saya sudah bereksperimen dengan script (bahasa apa ini ditulis dalam? Python?) Dan saya melihatnya menetapkan variabel bernama curDat
untuk new Date()
. Dari pemahaman saya, Date()
apakah fungsi yang dipanggil dan tidak ada parameter yang diteruskan ke sana - benar? Apakah masalah dalam Date()
fungsi atau ini hanya kasus sederhana saya harus memformat tanggal di Google Spreadsheets?
Berikut ini tempel seluruh skrip - singkat:
function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet();
sheet.insertColumnBefore(5);
var column = sheet.getRange('B13:B');
var values = column.getValues();
var rankingdrop = sheet.getRange("c8").getValue();
var ct = 0;
var colors = [];
while ( values[ct][0] != "" ) {
var formu = sheet.getRange("d" + (ct+13)).getFormula();
sheet.getRange("d" + (ct+13)).setFormula(formu);
Utilities.sleep(3000);
var rank = sheet.getRange("d" + (ct+13)).getValue();
sheet.getRange("e" + (ct+13)).setValue(rank);
var oldrank = sheet.getRange("f" + (ct+13)).getValue();
var colorcell = sheet.getRange("e" + (ct+13));
if(rank > oldrank){
colorcell.setFontColor("#ff0000");
} else if (rank < oldrank){
colorcell.setFontColor("#088A08");
}
if (rank - oldrank >= rankingdrop) {
var mailalert = true;
}
ct++;
}
var sendmail = sheet.getRange("c7").getValue();
if (mailalert == true && sendmail == "yes") {
var emailAddress = sheet.getRange("c9").getValue();
var message = "Ranking alert. Please check your rankings";
var url = sheet.getRange("c4").getValue();
var subject = ("Ranking Alert for " + url);
MailApp.sendEmail(emailAddress, subject, message);
}
var curDat = new Date();
var startOTY = curDat.getFullYear();
var curValue = Date.parse(curDat);
var begDat = new Date(startOTY,0,1);
var begValue = Date.parse(begDat);
var weekNum = parseInt((curValue - begValue)/604800000)+1;
sheet.getRange("e12").setValue(curDat);
}
sumber
Jawaban:
Gunakan kode berikut untuk mengubah notasi tanggal.
Kode
Referensi
sumber
Gunakan
setNumberFormat
untuk mengatur format tanggal (atau angka) untuk sel tertentu. Contoh ini menempatkan tanggal hari ini di A1 lembar ini, diformat sebagai MM / hh / tttt:Alasan menggunakan
setNumberFormat
(dan tidakUtilities.formatDate
, seolah-olah sering disarankan di Internet):Utilities.formatDate
tidak mengubah format sel; itu mengubah isinya menjadi teks. Jika Anda akan menggunakan nilai tanggal dalam perhitungan, Anda tidak ingin itu dikonversi ke teks.Utilities.formatDate
membutuhkan satu untuk menentukan zona waktu. Jika Anda memasukkan sesuatu seperti "GMT + 1" dan negara Anda mengamati Waktu Penghematan Siang Hari, Anda dapat mengharapkan bug yang sulit dilacak muncul beberapa bulan kemudian. DengansetNumberFormat
, nilai tanggal tetap konsisten dengan semua nilai tanggal lainnya dalam spreadsheet, diatur oleh pengaturan zona waktu.sumber
Session.getScriptTimeZone()
sebagai parameter zona waktu.Session.getScriptTimeZone()
output format panjang (mis. Amerika / Denver) daripada "GMT-7" sehingga Anda harus mengubahnya entah bagaimana.Bersama waktu:
sumber