Ben önceki yılın aynı tarih aralığında geçerli tarihe mali yıl kadar karşılaştıran bir sistemi var. Sen bakmak için yıl ve ay ayarlayabilirsiniz ve her zaman bir önceki yılın aynı tarih aralığını karşılaştırır. Ben geçerli gün artık gün ise geçen yıl 28 karşılaştırır böylece ayarlanmış olması ve geçen yıl artık yıl oldu ve bugün 28 Şubat ise o 29 kadar geçen yıl karşılaştırır. aksi takdirde geçerli tarihe kadar, o ayın son gününe kadar gösterir geçerli ay başka bir ay bakarsanız.
Tamam şu an gayet iyi çalışıyor, ama şimdi benim işverenler onlar dünün bugüne kadar gitmek istiyorum geçerli tarihe kadar olmak istemiyorum. Bunu nasıl yapabilirim, benim ana kaygılar bugün ne ayın 1, ya da ne varsa bugün mali yılın ilk günü ise.
İşte şimdi var kodu:
function create_YTD_XML()
{
global $month;
global $year;
$last_year = $year - 1;
if($year == date('Y') && $month == date('m'))
{
$this_day = date('d');
}
else
{
$this_day = date('t', mktime(0, 0, 0, $month, 1, $year)); // LAST DAY OF MONTH
}
if(is_leap_year($year) && $this_day == 29)
{
$last_day = 28;
}
else if(is_leap_year($last_year) && $this_day == 28)
{
$last_day = 29;
}
else
{
$last_day = $this_day;
}
if($month >= 2)
{
$this_year_start = $year;
$last_year_start = $last_year;
}
else
{
$this_year_start = $year - 1;
$last_year_start = $last_year - 1;
}
$this_ytd_start = $this_year_start.'-02-01';
$last_ytd_start = $last_year_start.'-02-01';
$this_ytd_end = $year.'-'.str_pad($month, 2, "0", STR_PAD_LEFT).'-'.$this_day;
$last_ytd_end = $last_year.'-'.str_pad($month, 2, "0", STR_PAD_LEFT).'-'.$last_day;
}
Ne iyi çözüm olurdu?
Teşekkürler!