blog

JavaScriptの学習ノート - 数学と日付

MathとDateMathはjsの組み込みオブジェクトで、それを操作するのに役立つメソッドの束を提供しています。Dateはjsの組み込みオブジェクトで、それを操作するのに役立つメソッドの束を提供してい...

Apr 2, 2020 · 9 min. read
シェア

Math と日付

  • Mathはjsの組み込みオブジェクトで、演算に役立つメソッドがたくさん用意されています。
  • Dateはjsの組み込みオブジェクトで、それを操作するためのメソッドがたくさん用意されています。

Math

  • 余計なものは何もなく、数字を操作する方法がたくさんあるだけです

random

  • Math.random() このメソッドを使用して、0 から 1 までの乱数を生成します。
  • 実行ごとに異なる数値が生成されますが、0から1の間でなければなりません。
  • その結果、0は含まれますが、1は含まれません。
var num = Math.random()
console.log(num) // 乱数を取得する

round

  • Math.round() は10進数を整数に変換します。
var num = 10.1
console.log(Math.round(num)) // 10
 
var num2 = 10.6
console.log(Math.round(num2)) // 11

abs

  • Math.abs() は数値の絶対値を返します。
var num = -10
console.log(math.abs(num)) // 10

ceil

  • Math.ceil()は10進数を取った整数です。
var num = 10.1
console.log(Math.ceil(num)) // 11
 
var num2 = 10.9
console.log(Math.ceil(num2)) // 11

floor

  • Math.floor() は、10進数を加算する整数です。
var num = 10.1
console.log(Math.floor(num)) // 10
 
var num2 = 10.9
console.log(Math.floor(num2)) // 10

max

  • Math.max() は、渡された数値のうち最大のものを取得します。
console.log(Math.max(1, 2, 3, 4, 5)) // 5

min

  • Math.min() は、渡された数値の中で最も小さい数値を取得します。
console.log(Math.min(1, 2, 3, 4, 5)) // 1

PI

  • Math.PIはπの値を取得し、それは3.1415926....
console.log(Math.PI) // 3.89793
  • コンピュータの精度上、小数点以下15桁までしか計算できません。

すうちかほうしき

  1. toString() メソッドは、数値を文字列に変換する際に10進数を返します。
  • 構文:toString(変換したい文字列)
var num = 100
console.log(num.toString(2)) // 
console.log(num.toString(8)) // 144
console.log(num.toString(16)) // 64
  1. parseInt () メソッドは、文字列を10進数への2進数変換の数値として文字列を数値にすることができます。
  • 文法:parseInt()
var str = 100
console.log(parseInt(str, 8)) //  8進数を10進数に変換すると、次のようになる。
console.log(parseInt(str, 16)) //  16進数を10進数に変換し、その結果を得るように
console.log(parseInt(str, 2)) // 4 100を2進数として10進数に変換して結果を得る。

Date

  • jsは、時刻を取得するための組み込みコンストラクタを提供しています。


new Date()

  • new Date() は、デフォルトではパラメータなしで現在の時刻を返します。
var time = new Date()
console.log(time) // 現在時刻 Fri Mar:11:23 GMT+0800 (日本標準時)
  • new Date() は、パラメータを渡す際に指定した時刻を取得します。
var time = new Date(' ')
console.log(time) // Sun Mar : GMT+0800 (日本標準時)
  • new Date() に渡すパラメータには、さまざまな状況が考えられます。
1.2つの数字(最初の数字は年、2番目の数字は月)を渡します。
var time = new Date() // 月は0から数えられ、0は1月、11は12月を意味する。
console.log(time) // Tue Jan :00:00 GMT+0800 (日本標準時)
2.3つの数字を渡します。最初の2つは変更せず、3つ目は1~31までの月日を示します。
var time = new Date() 
console.log(time) // Sat Jan :00:00 GMT+0800 (日本標準時)
3.4つの数字を渡します。最初の3つは変更せず、4つ目は時刻を示し、0から23まで。
var time = new Date(, 22) 
console.log(time) // Sat Jan :00:00 GMT+0800 (日本標準時)
4.5つの数字を渡します。最初の4つはそのままで、5番目は0から59までの分数を示します。
var time = new Date(, 22, 33) 
console.log(time) // Sat Jan :33:00 GMT+0800 (日本標準時)
5.6つの数字を渡します。最初の5つはそのままで、6つ目は0から59までの分の秒数を示します。
var time = new Date(, ) 
console.log(time) // Sat Jan :33:55 GMT+0800 (日本標準時)
6, 入力文字列の形式
console.log(new Date('2019')) 
// Tue Jan :00:00 GMT+0800 (日本標準時)
console.log(new Date('')) 
// Fri Feb :00:00 GMT+0800 (日本標準時)
console.log(new Date('')) 
// Sun Feb :00:00 GMT+0800 (日本標準時)
console.log(new Date(' 13:')) 
// Sun Feb :00:00 GMT+0800 (日本標準時)
console.log(new Date(' 13:13:')) 
// Sun Feb :13:00 GMT+0800 (日本標準時)
console.log(new Date(' ')) 
// Sun Feb :13:13 GMT+0800 (日本標準時)

日付文字列を指定された内容に整形します。

  • たとえば、次のような文字列が得られます。 Sun Feb :13:13 GMT+0800 (日本標準時)
  • 日付で年を指しているので、文字列をインターセプトしてそれを取得します。
  • しかし現在、jsは指定された

getFullYear

  • getFullYear() メソッドは、指定した文字列内の年を取得します。
var time = new Date(, )
console.log(time.getFullYear()) // 2019

  • getMonth() メソッドは、指定した文字列のどの月かを取得します。
var time = new Date(, )
console.log(time.getMonth()) // 3
  • ここで注意です。
  • 月数は0から数えます。
  • 0なら1月、1なら2月、というように。

getDate

  • getDate() メソッドは、指定した文字列がどの日にあたるのかを取得します。
var time = new Date(, )
console.log(time.getDate()) // 3

getHours

  • getHours() メソッドは、指定した文字列内の時間を取得します。
var time = new Date(, )
console.log(time.getHours()) // 8

  • getMinutes() メソッドは、指定された文字列内の分を取得します。
var time = new Date(, )
console.log(time.getMinutes()) // 0

getSeconds

  • getSeconds() メソッドは、指定した文字列内の秒を取得します。
var time = new Date(, )
console.log(time.getSeconds()) // 22

getDay

  • getDay() メソッドは、指定した文字列の曜日を取得します。
var time = new Date(, )
console.log(time.getDay()) // 1

getTime

  • getTime() メソッドは、実行時刻からグリニッジ標準時までのミリ秒数を取得します。
var time = new Date(, )
console.log(time.getTime()) // 000

時差を取得

  • とは、2つの時点の時間差を求めることです。
  • jsの時間から直接引くことはできません。
  • 特別な取り扱いが必要
  • プログラミングの世界には、1970年1月1日0時0分0秒という特別な時間があります。
  • この時間をグリニッジ標準時と呼びます。
  • グリニッジ標準時の数字は0です。
  • グリニッジ標準時から1ミリ秒経過するごとに、数値は+1されます。
  • そのため、任意の時間ノードのグリニッジ標準時までのミリ秒数を取得することが可能です。
  • 2つの時点間のミリ秒数は、2つのミリ秒を互いに引くことで得られます。
  • このミリ秒数を渡すと、正確な時間が表示されます。

時間差の計算

  • 例えば、2019-01-01 00:00:00と2019-01-03 04:55:34の時差を計算します。
1、最初にグリニッジ標準時のミリ秒に時間の2点を取得します。
var time1 = new Date(' ')
var time2 = new Date(' ')
 
time1 = time1.getTime()
time2 = time2.getTime()
 
console.log(time1) // 000
console.log(time2) // 000
2.2つの時間を引いて、2つの時点間のミリ秒数を求めます。
var differenceTime = time2 - time1
console.log(differenceTime) // 
2つの時点間のミリ秒数が計算されます。
3.計算されたミリ秒を時間に変換
  • 何日か考えてみましょう。
  • 1日は1000×60×60×24ミリ秒だと思っていました。
  • ミリ秒の合計を1日のミリ秒数で割って、何日あるかを求めます。
var time1 = new Date(' ')
var time2 = new Date(' ')
time1 = time1.getTime()
time2 = time2.getTime()
var differenceTime = time2 - time1
 
// 日数を計算する
var day = differenceTime / ( * 24) // 2.2963
day = Math.ceil(day) // 2
日数は小数で求めるので、切り捨てると整数日数になります。
  • differenceTimeを使って2日分のミリ秒を差し引くと、1日分のミリ秒が足りません。
  • 1日に足りないミリ秒数を使って、何時間あるかを計算します。
  • 1時間は1000×60×60ミリ秒ですから。
  • 1時間のミリ秒数を1日のミリ秒数で割ると、1時間の時間数になります。
var time1 = new Date(' ')
var time2 = new Date(' ')
time1 = time1.getTime()
time2 = time2.getTime()
var differenceTime = time2 - time1
 
// 日数を計算する
var day = differenceTime / ( * 24) // 2.2963
day = Math.floor(day) // 2
 
// 全体の時間の数を計算する
var afterHours = differenceTime - ( * 24 * 2)
var hours = afterHours / ()
hours = Math.floor(hours) // 4
先ほどと同じ理由で、切り捨てが必要です
  • 同様に、afterHours - 4時間に含まれるミリ秒数、残りは1時間に足りないミリ秒数です。
  • ミリ秒単位で1時間より何分短いかを計算します。
  • 1分は1000×60ミリ秒ですから。
  • 1時間のミリ秒数を1分のミリ秒数で割ると分数になります。
var time1 = new Date(' ')
var time2 = new Date(' ')
time1 = time1.getTime()
time2 = time2.getTime()
var differenceTime = time2 - time1
 
// 日数を計算する
var day = differenceTime / ( * 24) // 2.2963
day = Math.floor(day) // 2
 
// 全体の時間の数を計算する
var afterHours = differenceTime - ( * 24 * 2)
var hours = afterHours / ()
hours = Math.floor(hours) // 4
 
// 分数を計算する
var afterMinutes = afterHours - ( * 4)
var minutes = afterMinutes / ()
minutes = Math.floor(minutes) // 55
  • 同じ意味で、秒数も計算してください。
var time1 = new Date(' ')
var time2 = new Date(' ')
time1 = time1.getTime()
time2 = time2.getTime()
var differenceTime = time2 - time1
 
// 日数を計算する
var day = differenceTime / ( * 24) // 2.2963
day = Math.floor(day) // 2
 
// 全体の時間の数を計算する
var afterHours = differenceTime - ( * 24 * 2)
var hours = afterHours / ()
hours = Math.floor(hours) // 4
 
// 分数を計算する
var afterMinutes = afterHours - ( * 4)
var minutes = afterMinutes / ()
minutes = Math.floor(minutes) // 55
 
// 秒数を計算する
var afterSeconds = afterMinutes - ()
var seconds = afterSeconds / 1000
seconds = Math.floor(seconds) // 34
  • 最後に、同じように整数秒を引くと、残るのはミリ秒です。
var time1 = new Date(' ')
var time2 = new Date(' ')
time1 = time1.getTime()
time2 = time2.getTime()
var differenceTime = time2 - time1
 
// 日数を計算する
var day = differenceTime / ( * 24) // 2.2963
day = Math.floor(day) // 2
 
// 全体の時間の数を計算する
var afterHours = differenceTime - ( * 24 * 2)
var hours = afterHours / ()
hours = Math.floor(hours) // 4
 
// 分数を計算する
var afterMinutes = afterHours - ( * 4)
var minutes = afterMinutes / ()
minutes = Math.floor(minutes) // 55
 
// 秒数を計算する
var afterSeconds = afterMinutes - ()
var seconds = afterSeconds / 1000
seconds = Math.floor(seconds) // 34
 
// ミリ秒数を計算する
var milliSeconds = afterSeconds - () // 0
  • 最後に結果を出力するだけです。
document.write('   ')
document.write(day + ' ' + hours + ' ' + minutes + ' ' + seconds + ' ' + milliSeconds + ' ')




Read next

python-tools-pyinstaller

オペレーティングシステム: バージョン: 3.6 デフォルトで1つのファイルにパッケージ化します --onedir はディレクトリを生成します、 --onefile 省略形 -F, --onedir 省略形 -D はアイコンを設定します アイコンは .ico でなければなりません。

Apr 2, 2020 · 1 min read