問題タブ [strtotime]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
700 参照

php - strtotime() が将来の時刻のみを生成するようにする

次の日付 (5-1 など) を見つけるための PHP スクリプトを作成しようとしています。しかし、それを 5-2 に入れるとstrtotime()、今年の日付になります。可能な限り次の日付を常に返すようにしたいだけです。どうすればこれを機能させることができますか?それが役立つ場合、私は codeigniter を使用しています。

編集:謙虚な魂が同じ問題に遭遇した場合、私が思いついたコードを次に示します。

0 投票する
5 に答える
1907 参照

php - PHPの日付の問題-strtotimeは想定どおりの出力をしませんか?

データベースにいくつかの空白のDATETIME値(0000-00-00 00:00:00)があります。

これらをstrtotimeで実行すると、FALSEではなく「1263247058」が返されます。これは、リンクされたページの情報に従って実行する必要があります。

PHP strtotime()は何も出力しません

どうして?

ありがとう。

0 投票する
1 に答える
363 参照

php - DOMDocument要素からstrtotimeを使用して日付を変換します

curlを使用してHTMLファイルをフェッチした後、DOMDocumentを使用して一部のデータを解析しています。コードは次のようになります

$varstrtotimeを使用してタイムスタンプに変換できません。理由はわかりません。必要な$cols->item(1)->nodeValue値が返されたことはわかっています。それを調べて別の変数に内破しようとしましたが、strtotimeを使用してタイムスタンプに変換することはできません。また、値を直接テストしました

strtotime('11 Jan 2010');

タイムスタンプが返されました。では、どうすればよいですか?

0 投票する
3 に答える
7623 参照

php - タイムスタンプでmysqlの「LIKE」構文を使用するには?

特定の日に送信された行をユーザーがデータベースで検索できるようにしたいと考えています。日付は素晴らしい関数を使用してデータベースのフィールドに入力されますdate()が、phpstrtotime関数を使用すると、もちろん日付はまったく同じではありません。

これに役立つ賢いmysql関数はありますか?

0 投票する
4 に答える
1218 参照

php - PHP strtotime() はユーロ形式を想定しているようです

PHP の strtotime() メソッドを使用して、フォームの日付フィールドを受け入れています。「明日」、「次の木曜日」、または (おそらく) 任意の日付表現を受け入れて、Unix タイムスタンプに変換する方法で、その強力さが気に入っています。

それはうまく機能しています - 昨日まで。誰かが「2-4-10」と入力すると、2010 年 2 月 4 日ではなく、2002 年 4 月 10 日と記録されました。そのため、MDY ではなく YMD が必要でした。

2 桁の年を使用しているだけに問題があるのではないかと思い、「2-4-2010」で再試行しました。これは 2010 年 4 月 2 日の記録です。その時点で、 strtotime() が何をしているのか理解できません。PHP.net は、米国英語の日付形式を想定していると述べています。では、なぜ DMY を想定するのでしょうか。

これを回避する方法はありますか?それとも strtotime() の使用をやめる必要がありますか?

注:私はちょうど今テストをしました。ハイフン/ダッシュの代わりにスラッシュを使用すると、2/4/10 でも問題なく動作します。なぜそれが問題なのですか?それだけなら、フォーム入力を strtotime() に渡す前に str_replace("-", "/", $input) を実行するだけでよいでしょうか?

0 投票する
2 に答える
10116 参照

php - PHP - mktimeまたはstrtotime?

2010-02 を 2010 年 2 月に変換しようとしていますが、1969 年 12 月になり続けています。

mktime、strtotime、およびその 2 つの組み合わせを使用してみましたが、まだ実行できませんでした...

これは私が最近試したことです...

0 投票する
2 に答える
351 参照

php - phpなぜ2分追加し続けるのですか?

それがデータベースから引き出されるとき、それは次のように出てきます:2010-02-28 10:00:00

私はそれをフォーマットしています(はい、クエリでそれを行う方が良いことは知っていますが、現在そのオプションはありません):

しかし、何があっても、次のように出力されます。2010年2月28日日曜日10:02 AM

なぜそれがそれらの2分を追加しているのか考えていますか?

0 投票する
2 に答える
1233 参照

php - php strtotimeの問題、間違った値を与える?

私はこのコードを持っています:

ところで、私はすでに設定しました

結果は次のとおりです。2010 年 4 月 5 日、3 日が欠落しています。なぜそれが起こるのですか?それらは strtotime のバグだと聞きましたか? その場合、正しいものを取得するにはどうすればよいですか?つまり、これを置き換える別の方法はありますか:

0 投票する
6 に答える
8666 参照

php - strtotime で日付をオーストラリア (つまり、英国) 形式で解析する方法: dd/mm/yyyy?

私はこれまでにこれに出くわしたことがないとは信じられません。

基本的に、人間が作成したテキスト ドキュメントのテキストを解析しています。解析する必要があるフィールドの 1 つは日付と時刻です。私はオーストラリアにいるので、日付は次のようにフォーマットされていますが、米国でフォーマットされた日付として解析したいだけですdd/mm/yyyystrtotimeまた、/前述したように、これらのドキュメントは手書きであり、一部のドキュメントはd M yy.

複数の組み合わせを試しましsetlocaleたが、何を試しても、言語は常に米国英語に設定されています。

ここで setlocale が重要であることは間違いありませんが、適切なコードを見つけることができないようです。これらを試しました:

  • au
  • アウエン
  • en_AU
  • オーストラリア
  • aus

他に試せることはありますか?

明確にするために:私はWindowsボックスを備えたIISで実行しています。

本当にありがとう :)

イアン

例:

プロデュース

私はそれを生成したい:


私の解決策

私にとってははるかに読みやすい解決策であるため、ここで回答の1つにチェックマークを付けていますが、ここに私が思いついたものがあります:

ユーザーが入力した日付と一貫性があるとは限りませんので、正規表現をもう少し複雑にしました。

  • 0 または 0 ~ 3 の 1 桁
  • 0 から 9 までの 1 桁 -- はい、これは有効な日付として 37 に一致しますが、正規表現はすでに十分に大きいと思います!
  • 空白の可能性があります
  • 区切り文字 (「.」、「/」、または「 」)
  • 空白の可能性があります
  • また:
    • 10 から 12 の間の数値または
    • オプションで先頭に 0 を付けた 1 から 9 までの数値
  • 空白の可能性があります
  • 区切り文字 (「.」、「/」、または「 」)
  • 空白の可能性があります
  • また:
    • 2 桁の数字 OR
    • 4 桁の数字

うまくいけば、これは日付の書き方のほとんどのスタイルと一致します...