Получавам няколко пъти от база данни и се опитвам да ги съхраня по месеци, като използвам формата за епоха. Така че можех да имам някои произволни моменти като:
1354120744
1328978360
1297388332
и за всеки от тях искам да намеря стойността на епохата, която представлява 1-во число от този месец, така че за последното времево клеймо ще бъде:
1296518400
(използвайки прекрасно epochconverter.com
).
Знам, че мога да използвам POSIX mktime
, за да намаля клеймото за време до дни, минути и т.н. и да ги променя съответно и т.н., както беше отговорът на публикация, която направих преди малко: Как да се върна месеци назад в Perl, като вземем предвид различните дни в месеца?
Проблемът, който имам с това, е, че макар да мога нула пъти, се притеснявам, че при промяна на датата денят от седмицата няма да съвпадне, така че по същество ще направя невалидна дата. Това може да е ненужно безпокойство; Не знам дали ще има значение грешният ден от седмицата, ако часовете са валидирани.
Не можах да видя други POSIX методи, които изглеждаха полезни. Всяка помощ се оценява!