web-gelistirme-sc.com

JFactory :: getDate () zaman ofsetleri

Bu soru için "ofsetler" diyorum ama gerçekten timezonlar demek istemiyorum. Aradığım şey, geçmişte 1 gün, 1 hafta veya 1 ay ve daha ileriye doğru "şimdi" nin dengelenmesidir.

http://docs.joomla.org/JFactory/getDate

Belgelerde bir tamsayı olabilen bir saat dilimi ofseti gösteriyor, bu da bana işe yarayacak bir şey yapıyor, ancak ilk için null veya yanlış bir değer iletmek bir soruna neden olabilir gibi görünüyor. Ayrıca varsayılan bir tarih nesnesi geçebilir, ama bu API kullanma yararından alıyor gibi görünüyor.

Yani yapmak istediğim şey şöyle.

$now = JFactory::getDate();
$now->minusOffset(24 HOURS);
$query->where('created >= \'$now->toMySQL()\'');

Bunu yapmanın kolay bir yolu var mı? Veya normal bir php tarih nesnesini getDate dönüştürmek en iyisidir? Şimdiye kadar aramam hiçbir şey ortaya çıkmadı.

1
Jordan Ramstad

JDate sadece DateTime sınıfını genişletir, böylece DateTime için uygun olan her şeyi kullanabilirsiniz.

bunun gibi bir şey:

$yesterday = JFactory::getDate('now -1 day');

veya change () kullanın

$now = JFactory::getDate();
$now->modify('-1 day');
2
Fedik