Is there a PHP function I can use to do something like the following:
Yes, there is: strtotime():
strtotime("-6 months");strtotime("+2 years");These will return Unix timestamps. So you might want to put the result into date() or localtime() or gmtime().
Please do not try to subtract 6 months or add 2 years of seconds to time(). This does not take into account things like daylight saving or leap seconds and still gives you a value in seconds which is unlikely to be the precision you need. Let the library functions do it.