2009-09-24 3 views
-5

Я редко прикоснулся функция даты PHP,PHP функция дата

и теперь мне нужно сделать следующее:

  1. получить текущую дату,
  2. даты прибудет три дня спустя
  3. получить три недели спустя
  4. Получить три месяца спустя
  5. Получить три года спустя

и, наконец, реализовать такую ​​функцию:

function dage_generate($number,$unit) 
{ 

} 

$unit может быть день/неделю/месяц/год

+9

Не могли бы вы проверить руководство по PHP и поисковую систему, прежде чем задавать дополнительные вопросы. Кажется, вы открываете вопрос по любой проблеме. И мы не здесь, чтобы искать вас. – Gumbo

+1

@ Gumbo Да, но частью точки StackOverflow является создание центрального хранилища ответов на вопросы, которые есть у разработчиков. На подавляющее большинство вопросов здесь, на SO, может ответить Google, но может быть, что искатель не знает, как и где искать. –

+1

@Matt Lacey Итак, мы все должны начинать задавать вопросы, чтобы соответствовать каждой функции в руководстве PHP, а также документации каждого другого языка, чтобы мы могли сделать этот полностью полный репозиторий, который полностью прав? Добродетель побеждает цель. Я бы лучше научил кого-то, КАК использовать руководство, а не связывать их прямо с ответом каждый раз. Старые дают рыбу, учат рыбной пословице ... –

ответ

4

http://uk.php.net/strtotime может сделать большинство из этого:

  1. StrToTime ("сегодня")
  2. StrToTime ("+ 3 дня")
  3. StrToTime ("+ 3 недели")
  4. StrToTime ("+ 3 месяца")
  5. StrToTime ("+ 3-х лет")

функция будет что-то вроде:

function dage_generate($number,$unit) 
{ 
    return strtotime("+ ".$number." ".$unit); 
} 
+0

На ней выводятся чистые числа, но мне она нужна в формате xxxx-xx-xx – omg

+0

Внутренние даты и времена - это цифры. Если вы хотите, чтобы форматирование использовало функцию даты: http://uk.php.net/manual/en/function.date.php –

+0

Shore: Затем используйте функцию Date() для преобразования этих «чистых чисел» в читаемый формат. – Duroth

1

http://us.php.net/manual/en/function.date.php

Примечание к нижней части страницы:

Пример # 3 date() и mktime() пример

<?php 
$tomorrow = mktime(0, 0, 0, date("m") , date("d")+1, date("Y")); 
$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"), date("Y")); 
$nextyear = mktime(0, 0, 0, date("m"), date("d"), date("Y")+1); 
?> 
0

Используя strtotime(), вы можете сделать это легко.

$now = time(); 
$threeDays = strtotime("+3 days"); 
$threeWeeks = strtotime("+3 weeks"); 
$threeMonths = strtotime("+3 months"); 
$threeYears = strtotime("+3 years"); 

Каждая из этих переменных будет целым числом, которое представляет собой временную метку unix в этот момент времени. Затем вы можете отформатировать его в читаемую пользователем строку, используя date().

echo date('r', $threeWeeks); 
// etc... 
0

Использование date_create() создать объект DateTime, а затем использовать метод add.

См. Примеры на странице метода add(), содержащего все, что вам нужно.

Смежные вопросы