質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

4回答

1406閲覧

javascriptでの日付計算に関して

mochikuzu

総合スコア12

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2017/02/10 06:47

###構造

データベース テーブルA //date = 登録日 name: データ1 date: 2017/02/11 12:00 name: データ2 date: 2017/02/10 12:00 name: データ3 date: 2017/01/07 12:00 name: データ4 date: 2016/02/11 12:00

以上のデータ1,2,3,4をHTMLで表示させる際に、Javascriptで現在の日付から計算した登録日時を表示させたいです。

例: 2017/02/11 13:00 に見たHTML側の表示

データ1 : 12:00 //ここは当日なので時刻表示 データ2 : 1日前 データ3 : 1ヶ月前 データ4 : 1年前

どうすれば実現できるでしょうか?
JS側だけの処理が思いつきません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/02/10 06:54

PHPで行う方が良いと思うのですが、JavaScriptでやらなければいけない理由はありますか?
mochikuzu

2017/02/10 06:58

PHP側のコードを完結したいのが一つの理由です。また別のページでも同じ様な処理を行いたいためjsでの処理を検討しております
guest

回答4

0

ベストアンサー

プロであればgoogle検索などでライブラリを探してきます。もちろんライセンス的にクリアなものです。私がこういった処理を実装するならこれを見つけたでしょう。timeago.jsというライブラリについての説明記事です。
http://co.bsnws.net/article/187

投稿2017/02/10 07:03

masaya_ohashi

総合スコア9206

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mochikuzu

2017/02/10 07:06

ありがとうございます。 まだまだ勉強中の身なのでうまく説明できず申し訳ありません
guest

0

◯◯前は定義が難しいのでなかなか完璧な表記はできません。
例えば小の月やうるう年、2/28の一ヶ月前は1/28or31?
単純に日付の差であれば以下です

javascript

1var d1=new Date('2017/02/11 12:00'); 2var d2=new Date('2017/01/07 12:00'); 3console.log(parseInt((d1-d2)/60/60/24/1000));

これを援用して30日を1月とするとか365日を1年とするとか
定義をすればご希望のように表示することも可能です

投稿2017/02/10 07:00

yambejp

総合スコア114839

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mochikuzu

2017/02/10 07:07

ありがとうございます、参考になります。
guest

0

こちらを参考にしてください。
参考

投稿2017/02/10 06:53

turbgraphics200

総合スコア4267

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mochikuzu

2017/02/10 06:56

すみません言葉足らずでした 一応自分なりに質問内容にある処理は作っているのですが、プロの方はどのように実現させるのかを知りたいです。
otn

2017/02/10 07:06

> 一応自分なりに質問内容にある処理は作っているのですが、 ということは、「JS側だけの処理が思いつきません。 」は嘘ということですか?
mochikuzu

2017/02/10 07:09

ここにあげれるような出来ではないためこのような質問になってしまいました、誤解を生んでしまい申し訳ありません
guest

0

日付を扱うためのライブラリがあるので、それを利用してはいかがでしょう。

【おすすめライブラリつまみ食い - Moment.js | CodeGrid】
https://app.codegrid.net/entry/momentjs#toc-6

【Moment.js | Home】
https://momentjs.com/

投稿2017/02/10 06:52

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mochikuzu

2017/02/10 06:56

すみません言葉足らずでした 一応自分なりに質問内容にある処理は作っているのですが、プロの方はどのように実現させるのかを知りたいです。
kei344

2017/02/10 07:01

作っているなら提示されてはどうでしょう。というか質問文にある「思いつきません」と相反することをおっしゃっていることに気づかれていますか?
mochikuzu

2017/02/10 07:09

ここにあげれるような出来ではないためこのような質問になってしまいました、誤解を生んでしまい申し訳ありません
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問