JavaScriptで現在の日付を取得するには

javascript date date-formatting


JavaScriptで現在の日付を取得するには?




Answer 1 Samuel Meddows


new Date() を使用して、現在の日付と時刻を含む新しい Date オブジェクトを生成します。

var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
var yyyy = today.getFullYear();

today = mm + '/' + dd + '/' + yyyy;
document.write(today);

今日の日付がmm/dd/yyyyの形式で表示されます。

単に today = mm +'/'+ dd +'/'+ yyyy; 変更する= mm + '/' + dd + '/' + yyyy; あなたが望むどんなフォーマットにも。




Answer 2 Varun Natraaj


var utc = new Date().toJSON().slice(0,10).replace(/-/g,'/');
document.write(utc);

FirefoxとSafariがダッシュ付きの日付を認識しないため、 new Date(utc) などの utc 変数を再利用する場合は、 replace オプションを使用します。




Answer 3 SpYk3HH


更新しました!、 下へスクロール

エンドユーザーにシンプルなものを希望する場合... Also, fixed a small suffix issue in the first version below. Now properly returns suffix.

var objToday = new Date(),
	weekday = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'),
	dayOfWeek = weekday[objToday.getDay()],
	domEnder = function() { var a = objToday; if (/1/.test(parseInt((a + "").charAt(0)))) return "th"; a = parseInt((a + "").charAt(1)); return 1 == a ? "st" : 2 == a ? "nd" : 3 == a ? "rd" : "th" }(),
	dayOfMonth = today + ( objToday.getDate() < 10) ? '0' + objToday.getDate() + domEnder : objToday.getDate() + domEnder,
	months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'),
	curMonth = months[objToday.getMonth()],
	curYear = objToday.getFullYear(),
	curHour = objToday.getHours() > 12 ? objToday.getHours() - 12 : (objToday.getHours() < 10 ? "0" + objToday.getHours() : objToday.getHours()),
	curMinute = objToday.getMinutes() < 10 ? "0" + objToday.getMinutes() : objToday.getMinutes(),
	curSeconds = objToday.getSeconds() < 10 ? "0" + objToday.getSeconds() : objToday.getSeconds(),
	curMeridiem = objToday.getHours() > 12 ? "PM" : "AM";
var today = curHour + ":" + curMinute + "." + curSeconds + curMeridiem + " " + dayOfWeek + " " + dayOfMonth + " of " + curMonth + ", " + curYear;

document.getElementsByTagName('h1')[0].textContent = today;
<h1></h1>

UBBER UPDATE多くの先延ばしの後で、私はようやくGitHubbedを行い、これを私が自分のために使用してきた最終的なソリューションで更新しました。それをより甘くするために、ぎりぎりの編集もありました!古いjsFiddleをお探しの場合は、こちらをご覧ください。

このアップデートは2つのフレーバーで提供されますが、まだ比較的小さいですが、上記の私の元の回答ほど小さくはありません。極端に小さくしたい場合は、それに合わせてください。
また、注:これは、moment.jsよりも膨らみが少ないです。imo.jsはいいですが、imoは世俗的なメソッドが多すぎるため、言語のようにモーメントを学習する必要があります。ここの鉱山は、PHPと同じ一般的な形式であるdateを使用しています。

クイックリンク

フレーバー1 new Date().format(String) 私の個人的なお気に入り。私はタブーを知っていますが、日付オブジェクトでうまく機能します。日付オブジェクトに必要なその他のModに注意してください。

//  use as simple as
new Date().format('m-d-Y h:i:s');   //  07-06-2016 06:38:34

フレーバー2 dateFormat(Date, String) より伝統的なオールインワンメソッド。以前のすべての機能を備えていますが、Dateパラメータを持つメソッドを介して呼び出されます。

//  use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s');  //  07-06-2016 06:38:34

ボーナスフレーバー(jQueryが必要) $.date(Date, String) これには、単純な format オプションだけではありません。ベースのDateオブジェクトを拡張し、 addDays などのメソッドを含みます。詳細については、Gitを参照してください。

このmodでは、フォーマット文字はPHPに触発されています:date。完全なリストについては、 README

このmodには、事前に作成されたフォーマットのはるかに長いリストもあります。既成のフォーマットを使用するには、キー名を入力するだけです。 dateFormat(new Date(), 'pretty-a');

  • 'compound'
    • 'commonLogFormat' == 'd / M / Y:G:i:s'
    • 'exif' == 'Y:m:d G:i:s'
    • 'isoYearWeek' == 'Y \\ WW'
    • 'isoYearWeek2' == 'Y-\\ WW'
    • 'isoYearWeekDay' == 'Y \\ WWj'
    • 'isoYearWeekDay2' == 'Y-\\ WW-j'
    • 'mySQL' == 'Ymd h:i:s'
    • 'postgreSQL' == 'Yz'
    • 'postgreSQL2' == 'Yz'
    • 'ソープ' == 'Ymd \\ TH:i:su'
    • 'soap2' == 'Ymd \\ TH:i:s.uP'
    • 'unixTimestamp' == '@U'
    • 'xmlrpc' == 'Ymd \\ TG:i:s'
    • 'xmlrpcCompact' == 'Ymd \\ tGis'
    • 'wddx' == 'Ynj \\ TG:i:s'
  • 'constants'
    • 'AMERICAN' == 'F j Y'
    • 'AMERICANSHORT' == 'm / d / Y'
    • 'AMERICANSHORTWTIME' == 'm / d / Y h:i:sA'
    • 'ATOM' == 'Ymd \\ TH:i:sP'
    • 'COOKIE' == 'l dMY H:i:s T'
    • 'ヨーロッパ' == 'j FY'
    • 「ヨーロッパショート」==「dmY」
    • 'EUROPEANSHORTWTIME' == 'dmY H:i:s'
    • 'ISO8601' == 'Ymd \\ TH:i:sO'
    • 「リーガル」==「j年度」
    • 'RFC822' == 'D d M y H:i:s O'
    • 'RFC850' == 'l dMy H:i:s T'
    • 'RFC1036' == 'D d M y H:i:s O'
    • 'RFC1123' == 'D d MYH:i:s O'
    • 'RFC2822' == 'D d MYH:i:s O'
    • 'RFC3339' == 'Ymd \\ TH:i:sP'
    • 'RSS' == 'D d MYH:i:s O'
    • 'W3C' == 'Ymd \\ TH:i:sP'
  • 'pretty'
    • 'pretty-a' == 'g:i.sA l jS \\ o \\ f FY'
    • 'pretty-b' == 'g:iA l jS \\ o \\ f FY'
    • 'pretty-c' == 'n / d / Y g:iA'
    • 'pretty-d' == 'n / d / Y'
    • 'pretty-e' == 'F jS-g:ia'
    • 'pretty-f' == 'g:iA'

お気づきかもしれませんが、ダブル \ を使用して文字をエスケープできます。





Answer 4 Damjan Pavlica


最短。

2018-08-03」のようなフォーマットを取得する。

let today = new Date().toISOString().slice(0, 10)

console.log(today)

8/3/2018」のようなフォーマットを取得するには

let today = new Date().toLocaleDateString()

console.log(today)

また、 toLocaleDateString("sr") などのように、引数としてロケールを渡すこともできます。




Answer 5 Marshal


時間情報のない日付が欲しいだけならば、使用してください。

var today = new Date();
    today.setHours(0, 0, 0, 0);

document.write(today);