Php дата вычесть месяц

как вычесть 1 месяц из любой даты и получить значение этого месяца из базы данных

$ payment_date — это дата, из которой я хочу вычесть 1 месяц.
как я мог сделать?

 
Payment Month Payment Date Gross Salary Total Deduction Net Salary Advance Salary Incentive Fine Deduction Payment Amount Details
payment_for_month)); ?> payment_date)); ?> basic_salary + $v_payment_history->house_rent_allowance + $v_payment_history->medical_allowance + $v_payment_history->special_allowance + $v_payment_history->fuel_allowance + $v_payment_history->phone_bill_allowance + $v_payment_history->other_allowance; ?> tax_deduction + $v_payment_history->provident_fund + $v_payment_history->other_deduction; ?> award_amount; ?> incentive; ?> fine_deduction; ?> payment_amount; ?> salary_payment_id) ?>
There is no data for display

$ payment_date — это дата, из которой я хочу вычесть 1 месяц.
как я мог сделать? Я хочу оплату только за последний месяц с того месяца, когда я даю платеж

Решение

modify('-1 month'); echo $date->format('Y-m-d H:i:s'); 

Вы также можете ввести строку даты в качестве конструктора. new DateTime(‘2014-09-18’);

Источник

DateTimeImmutable::sub

Возвращает новый объект DateTimeImmutable , в котором указанный объект DateInterval вычитается из указанного объекта DateTimeImmutable.

Список параметров

Только для процедурного стиля: объект DateTime , возвращаемый date_create() . Функция изменяет этот объект.

Возвращаемые значения

Возвращает новый объект DateTimeImmutable с модифицированными данными.

Примеры

Пример #1 Пример использования DateTimeImmutable::sub()

$date = new DateTimeImmutable ( ‘2000-01-20’ );
$newDate = $date -> sub (new DateInterval ( ‘P10D’ ));
echo $newDate -> format ( ‘Y-m-d’ ) . «\n» ;
?>

Результат выполнения данных примеров:

Пример #2 Дополнительный пример DateTimeImmutable::sub()

$date = new DateTimeImmutable ( ‘2000-01-20’ );
$newDate = $date -> sub (new DateInterval ( ‘PT10H30S’ ));
echo $newDate -> format ( ‘Y-m-d H:i:s’ ) . «\n» ;

$date = new DateTimeImmutable ( ‘2000-01-20’ );
$newDate = $date -> sub (new DateInterval ( ‘P7Y5M4DT4H3M2S’ ));
echo $newDate -> format ( ‘Y-m-d H:i:s’ ) . «\n» ;
?>

Результат выполнения данного примера:

2000-01-19 13:59:30 1992-08-15 19:56:58

Пример #3 Будьте осторожны при вычитании месяцев

$date = new DateTimeImmutable ( ‘2001-04-30’ );
$interval = new DateInterval ( ‘P1M’ );

$newDate1 = $date -> sub ( $interval );
echo $newDate1 -> format ( ‘Y-m-d’ ) . «\n» ;

$newDate2 = $newDate1 -> sub ( $interval );
echo $newDate2 -> format ( ‘Y-m-d’ ) . «\n» ;
?>

Результат выполнения данного примера:

Смотрите также

  • DateTimeImmutable::add() — Возвращает новый объект с добавленным количеством дней, месяцев, лет, часов, минут и секунд
  • DateTimeImmutable::diff() — Возвращает разницу между двумя объектами DateTime
  • DateTimeImmutable::modify() — Создаёт новый объект с изменённой временной меткой

User Contributed Notes

Источник

как вычесть 1 месяц из любой даты и получить значение этого месяца из базы данных

$ payment_date — это дата, из которой я хочу вычесть 1 месяц.
как я мог сделать?

 
Payment Month Payment Date Gross Salary Total Deduction Net Salary Advance Salary Incentive Fine Deduction Payment Amount Details
payment_for_month)); ?> payment_date)); ?> basic_salary + $v_payment_history->house_rent_allowance + $v_payment_history->medical_allowance + $v_payment_history->special_allowance + $v_payment_history->fuel_allowance + $v_payment_history->phone_bill_allowance + $v_payment_history->other_allowance; ?> tax_deduction + $v_payment_history->provident_fund + $v_payment_history->other_deduction; ?> award_amount; ?> incentive; ?> fine_deduction; ?> payment_amount; ?> salary_payment_id) ?>
There is no data for display

$ payment_date — это дата, из которой я хочу вычесть 1 месяц.
как я мог сделать? Я хочу оплату только за последний месяц с того месяца, когда я даю платеж

Решение

modify('-1 month'); echo $date->format('Y-m-d H:i:s'); 

Вы также можете ввести строку даты в качестве конструктора. new DateTime(‘2014-09-18’);

Источник

date_sub

Вычитает из времени объекта DateTime заданный интервал DateInterval.

Список параметров

Только для процедурного стиля: Объект DateTime, возвращаемый date_create() . Функция изменяет этот объект.

Возвращаемые значения

Возвращает объект DateTime для применения в цепи методов или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования DateTime::sub()

$date = new DateTime ( ‘2000-01-20’ );
$date -> sub (new DateInterval ( ‘P10D’ ));
echo $date -> format ( ‘Y-m-d’ ) . «\n» ;
?>

$date = date_create ( ‘2000-01-20’ );
date_sub ( $date , date_interval_create_from_date_string ( ’10 days’ ));
echo date_format ( $date , ‘Y-m-d’ );
?>

Результат выполнения данных примеров:

Пример #2 Другие примеры DateTime::sub()

$date = new DateTime ( ‘2000-01-20’ );
$date -> sub (new DateInterval ( ‘PT10H30S’ ));
echo $date -> format ( ‘Y-m-d H:i:s’ ) . «\n» ;

$date = new DateTime ( ‘2000-01-20’ );
$date -> sub (new DateInterval ( ‘P7Y5M4DT4H3M2S’ ));
echo $date -> format ( ‘Y-m-d H:i:s’ ) . «\n» ;
?>

Результат выполнения данного примера:

2000-01-19 13:59:30 1992-08-15 19:56:58

Пример #3 Будьте внимательны при вычитании месяцев

$date = new DateTime ( ‘2001-04-30’ );
$interval = new DateInterval ( ‘P1M’ );

$date -> sub ( $interval );
echo $date -> format ( ‘Y-m-d’ ) . «\n» ;

$date -> sub ( $interval );
echo $date -> format ( ‘Y-m-d’ ) . «\n» ;
?>

Результат выполнения данного примера:

Примечания

При работе с PHP 5.2 в качестве альтернативы можно использовать функцию DateTime::modify() .

Смотрите также

  • DateTime::add() — Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к объекту DateTime
  • DateTime::diff() — Возвращает разницу между двумя DateTime объектами
  • DateTime::modify() — Изменение временной метки

Источник

date_sub

Вычитает из времени объекта DateTime заданный интервал DateInterval.

Список параметров

Только для процедурного стиля: Объект DateTime, возвращаемый date_create(). Функция изменяет этот объект.

Возвращаемые значения

Возвращает объект DateTime для применения в цепи методов или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования DateTime::sub()
$date = new DateTime('2000-01-20'); $date->sub(new DateInterval('P10D')); echo $date->format('Y-m-d') . "\n";
$date = date_create('2000-01-20'); date_sub($date, date_interval_create_from_date_string('10 days')); echo date_format($date, 'Y-m-d');

Результат выполнения данных примеров:

Пример #2 Другие примеры DateTime::sub()
$date = new DateTime('2000-01-20'); $date->sub(new DateInterval('PT10H30S')); echo $date->format('Y-m-d H:i:s') . "\n"; $date = new DateTime('2000-01-20'); $date->sub(new DateInterval('P7Y5M4DT4H3M2S')); echo $date->format('Y-m-d H:i:s') . "\n";

Результат выполнения данного примера:

2000-01-19 13:59:30 1992-08-15 19:56:58
Пример #3 Будьте внимательны при вычитании месяцев
$date = new DateTime('2001-04-30'); $interval = new DateInterval('P1M'); $date->sub($interval); echo $date->format('Y-m-d') . "\n"; $date->sub($interval); echo $date->format('Y-m-d') . "\n";

Результат выполнения данного примера:

Примечания

При работе с PHP 5.2 в качестве альтернативы можно использовать функцию DateTime::modify().

Смотрите также

  • DateTime::add() — Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к объекту DateTime
  • DateTime::diff() — Возвращает разницу между двумя DateTime объектами
  • DateTime::modify() — Изменение временной метки

Описание класса datetime, примеры использования класса datetime.

Источник

Читайте также:  Firefox java portable для
Оцените статью