ある特定のタイムスタンプから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 timezone
- 2. PHP関数Strtotime
- 3. php date&strtotime
- 4. PHP strtotime()とdate.js parse()
- 5. PHPののstrtotime関数
- 6. PHP - - のstrtotime時間が
- 7. PHPの日付のstrtotime
- 8. PHPのstrtotimeを返す1
- 9. PHPのstrtotimeと働いて何年?
- 10. 00:00以降のPHP strtotimeの失敗
- 11. Java:LinkedList Reverse
- 12. Reverse MemoryStream.ToArray()
- 13. のstrtotime()mysqlのタイムスタンプ
- 14. なぜstrtotime( '')とstrtotime( '。')はタイムスタンプを返しますか?
- 15. Python Reverse Generator
- 16. iOS Twitter Reverse OAuth
- 17. Tastypie Reverse Relation
- 18. git reverse cherrypick
- 19. bindAttr reverse boolean
- 20. Lisp Reverse "all" Function
- 21. jquery reverse array
- 22. Phonegap - Reverse ajax
- 23. Django HttpResponseRedirectとreverse()
- 24. strtotime(07/19/2011 00:00)
- 25. php strtotime()を1分オフにしますか?
- 26. PHPでのstrtotime()のその他の使用
- 27. PHP、MySQLのアーカイブをMONTHからstrtotimeから取得する
- 28. PHP strtotimeとJavaScript Date.parseが異なるタイムスタンプを返す
- 29. のPHPのstrtotime関数と日付関数は
- 30. PHP、strtotimeを使って日時変数から分を引く?
date()。 http://php.net/manual/en/function.date.phpを参照してください。 –
@Andypandy:私は 'date()'について知っています。私は、 'strtotime'の逆を行う直接関数があるのかと尋ねました。 – prongs
日付でない場合、私は分かりません...あなたはもっと文脈を提供することができますか? ($ timestring-date( 'l'、$ timestamp)は機能しません) –