DATE_FORMAT関数で月末最終日を表示させたい

"日時の形式やタイムゾーンを変える"ではDATE_FORMAT関数による年月日の表示について、各月の日にちが月の一(1日)しか表示されません。

月の一以外の月末最終日を表示させたいのですが、無理でしょうか?

もし無理でしたら、Javascript の方法でもよろしいです。

ao1962様

JavaScriptでしかやったことがないのですが、 moment.js を使って

 

//現在時刻を取得するなら

var d1=moment();

//「日付フィールド」で指定するなら

var d2=moment(record[‘日付フィールド’][‘value’]);

//フィールドに値をセット

record[‘今月末フィールド’].value=moment(d1).endOf(‘month’).format(‘YYYY-MM-DD’);

record[‘月末フィールド’].value=moment(d2).endOf(‘month’).format(‘YYYY-MM-DD’);

 

などとすればできると思います。(上記ソースは未検証ですが、私はいつもこんな感じにしています)

moment.js については

   https://cybozudev.zendesk.com/hc/ja/articles/204982474-Moment-js-%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%A6-%E6%97%A5%E6%99%82%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%AE%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88%E3%82%92%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E3%81%99%E3%82%8B

http://qiita.com/kyota/items/806da61fb8fffa34b695

https://its-office.jp/blog/js/2016/04/02/moment.html

など、検索すればいろいろ出てくると思いますので参考になさって下さい。

DATE_FORMAT関数については、よくあるご質問"レコードタイトルに複数のフィールドを設定できますか?"も参考にしましたが、相変わらず月の一になります。

ao1962様

DATE_FORMAT関数でどのようなことをなさろうとしているのでしょうか?

「月の一になる」という状況が分からないのですが。

たとえば、DATA_FORMAT(日付,“YYYY-MM-01”,“system”) としているということですか?

この関数でできることは非常に限られていますが・・・。

DATA_FORMAT(日付,“YYYY-MM-DD”,“system”)でも月の一になりますので、DDを変数化していいのか?迷っていましたが、

最初の回答が大変参考になり、自分なりに応用しながら実行したところ、何とか月末最終日が表示されるようになりました。

助かりました。

回答ありがとうございました。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。