ある特定のタイムスタンプからtoday/tomorrow/next sunday/etc.
を出力するいくつかの関数timetostr
がPHPにありますか?そのようにtimetostr(strtotime(x))=x
php strtotime reverse
答えて
これは、ここに来る人に便利です。
/**
* Format a timestamp to display its age (5 days ago, in 3 days, etc.).
*
* @param int $timestamp
* @param int $now
* @return string
*/
function timetostr($timestamp, $now = null) {
$age = ($now ?: time()) - $timestamp;
$future = ($age < 0);
$age = abs($age);
$age = (int)($age/60); // minutes ago
if ($age == 0) return $future ? "momentarily" : "just now";
$scales = [
["minute", "minutes", 60],
["hour", "hours", 24],
["day", "days", 7],
["week", "weeks", 4.348214286], // average with leap year every 4 years
["month", "months", 12],
["year", "years", 10],
["decade", "decades", 10],
["century", "centuries", 1000],
["millenium", "millenia", PHP_INT_MAX]
];
foreach ($scales as list($singular, $plural, $factor)) {
if ($age == 0)
return $future
? "in less than 1 $singular"
: "less than 1 $singular ago";
if ($age == 1)
return $future
? "in 1 $singular"
: "1 $singular ago";
if ($age < $factor)
return $future
? "in $age $plural"
: "$age $plural ago";
$age = (int)($age/$factor);
}
}
これは帰納法ではないため、逆関数strtotime
はありません。 strtotime
を使用するときにUNIXタイムスタンプを取得するソース文字列は、さまざまな方法でフォーマットできます。だから、もしあなたがその関数を逆にすることにしたら、どのような文字列フォーマットを使うべきか、どのように知ることができますか?これは、2010年8月5日か2000年9月10日かのようになります。これはまさに逆機能がない理由ですが、Andypandyが正しく言ったように、date()
を使用しなければなりません。と一緒に。私はこの質問が古くなっていることを知っていますが、私はそれがこの答えに値すると思っているので、他のユーザーはなぜPHPにそのような機能がないのか理解しています。
に提出されたフレンドリーな日付形式のものですが、技術的に「正しい」とはOPの質問には答えませんが、それよりもよく知っているすべての知っているプログラマーの否定的なステレオタイプ人は質問をする。別のアプローチはこれのようなものを言うだろう - > http://stackoverflow.com/a/3040437/830899 – unsynchronized
日付( "Ymd"、時間())は仕事をすることができます。 – Qinjie
- 1. のPHPのstrtotime
- 2. PHP関数Strtotime
- 3. php date&strtotime
- 4. PHP strtotime timezone
- 5. PHP strtotime()とdate.js parse()
- 6. PHPのstrtotime矛盾
- 7. PHPの日付のstrtotime
- 8. PHPのstrtotimeを返す1
- 9. PHP strtotimeがfalseを返す
- 10. PHP - のstrtotime()の戻り1970
- 11. PHP - - のstrtotime時間が
- 12. PHPののstrtotime関数
- 13. PHP strtotime関数の評価
- 14. (PHP)のstrtotime関数は、char
- 15. 00:00以降のPHP strtotimeの失敗
- 16. PHPの日付形式とstrtotime
- 17. PHPのApp Engineののstrtotimeエラー
- 18. PHPのstrtotimeと働いて何年?
- 19. 最も近い日付はPHP strtotime
- 20. PHP strtotime()で将来の日付のみ
- 21. のstrtotime()mysqlのタイムスタンプ
- 22. なぜstrtotime( '')とstrtotime( '。')はタイムスタンプを返しますか?
- 23. ハスケルに `(Reverse(Reverse xs))〜xs`を伝える
- 24. Reverse MemoryStream.ToArray()
- 25. Reverse requirements.txt
- 26. Java:LinkedList Reverse
- 27. iOS Twitter Reverse OAuth
- 28. Django:strange reverse match
- 29. smoothstate alternate reverse animating
- 30. Django translation reverse
date()。 http://php.net/manual/en/function.date.phpを参照してください。 –
@Andypandy:私は 'date()'について知っています。私は、 'strtotime'の逆を行う直接関数があるのかと尋ねました。 – prongs
日付でない場合、私は分かりません...あなたはもっと文脈を提供することができますか? ($ timestring-date( 'l'、$ timestamp)は機能しません) –