Google script Geçen Haftanın Perşembe günü

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,074
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar,

Google script' de geçen haftanın herhangi bir günü (Örn: perşembe) gününün tarihini verecek fonksiyonu nasıl oluşturabiliriz?

Kod:
function Testdate() {

  var today = new Date();
  var lastWeek = new Date();
  lastWeek.setDate(today.getDate()-7);

  var StartLastWeekDate = ......
  var EndLastWeekDate = ......


}
Desteğiniz için şimdiden teşekkürler,
iyi Çalışmalar.
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
644
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Kod:
function getLastWeekdayDate(weekday) {
  var today = new Date();
  var lastWeek = new Date();
  lastWeek.setDate(today.getDate() - 7);

  var lastWeekday = new Date(lastWeek);
  lastWeekday.setDate(lastWeek.getDate() - (lastWeek.getDay() - weekday));

  return lastWeekday;
}

function Testdate() {
  var THURSDAY = 4; // Perşembe gününün indeksi, 0 = Pazar, 1 = Pazartesi, vb.
  var lastWeekThursday = getLastWeekdayDate(THURSDAY);
 
  Logger.log('Geçen haftanın Perşembe günü: ' + lastWeekThursday);
}
Kusura bakmayın hocam haddimiz değil denermisiniz
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,074
Excel Vers. ve Dili
Office 2013 İngilizce
Kod:
function getLastWeekdayDate(weekday) {
  var today = new Date();
  var lastWeek = new Date();
  lastWeek.setDate(today.getDate() - 7);

  var lastWeekday = new Date(lastWeek);
  lastWeekday.setDate(lastWeek.getDate() - (lastWeek.getDay() - weekday));

  return lastWeekday;
}

function Testdate() {
  var THURSDAY = 4; // Perşembe gününün indeksi, 0 = Pazar, 1 = Pazartesi, vb.
  var lastWeekThursday = getLastWeekdayDate(THURSDAY);

  Logger.log('Geçen haftanın Perşembe günü: ' + lastWeekThursday);
}
Kusura bakmayın hocam haddimiz değil denermisiniz
Hocam çok teşekkür ederim, emeğinize sağlık;
şu an 5.12.2024 sonucunu döndürüyor.

yalnız şöyle bir durum söz konusu ; bizim iş takviminde hafta: Cuma' dan Perşembe' ye ..

dolayısıyla şu an için 12.12.2024 sonucunu döndürmesini istiyorum,

Not: Aslında bugünden geriye doğru son perşembe gününü bulması doğru sonuç olacaktır.

bunun için kod üzerinde nasıl bir düzenleme yapılabilir?

tekrar teşekkürler, iyi akşamlar.
 
Son düzenleme:

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,074
Excel Vers. ve Dili
Office 2013 İngilizce
Hocam çok teşekkür ederim, emeğinize sağlık;
şu an 5.12.2024 sonucunu döndürüyor.

yalnız şöyle bir durum söz konusu ; bizim iş takviminde hafta: Cuma' dan Perşembe' ye ..

dolayısıyla şu an için 12.12.2024 sonucunu döndürmesini istiyorum,

Not: Aslında bugünden geriye doğru son perşembe gününü bulması doğru sonuç olacaktır.

bunun için kod üzerinde nasıl bir düzenleme yapılabilir?

tekrar teşekkürler, iyi akşamlar.
Tekrar merhaba,
Aşağıdaki şekilde bir çözüm ürettim;
burada tek bir nokta kaldı, "12.12.2024 19:48:06" şeklinde (tarih + saat) formatında sonuç getiriyor.

sadece tarih "12.12.2024" şeklinde sonucu nasıl döndürebiliriz.

teşekkürler, iyi Akşamlar.

Kod:
function TestDate() {
  var ss = SpreadsheetApp.getActive();
  var sourceSheet = ss.getSheetByName('Sayfa12');

  var getLastDay = getLastWeekdayDate();
  sourceSheet.getRange(2, 2).setValue(getLastDay);
}
Kod:
function getLastWeekdayDate() {
  var today = new Date();
  var dayOfWeek = today.getDay();
  var thrOfWeek = 0
  if (dayOfWeek > 4) {
    thrOfWeek = dayOfWeek - 4;
  }
  else {
    thrOfWeek = dayOfWeek + 3;
  }
  var lastWeek = new Date();
  lastWeek.setDate(today.getDate() - thrOfWeek);
  var lastWeekday = new Date(lastWeek);
  return lastWeekday;
}
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,397
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Hesaplama için aşağıdaki kodu deneyiniz.
JavaScript:
function getLastWeekdayDate() {
  var today = new Date();
  var dayOfWeek = today.getDay();
 
  var lastWeek = new Date(today);
  lastWeek.setDate(today.getDate() - (dayOfWeek + 3) % 7);
  return lastWeek;
}
Formül kullanmak isterseniz de: =BUGÜN()-MOD(HAFTANINGÜNÜ(BUGÜN(),2)+3,7)
 
Üst