LANG SELRCT

コードを書く場所

2019年4月6日土曜日

今の年月日と曜日と時刻をリアルタイムで取得したい


年月日
曜日
リアルタイム時刻
ミリ秒








コード.gs
function doGet() {
  return HtmlService.createHtmlOutputFromFile("index");
}
意訳
この機能がやること
指定したHTMLファイルを表示する




index.html
<!DOCTYPE html>
<html>
  <body>
  <input type="text" id="today"><br>
  <input type="text" id="youbi"><br>
  <input type="text" id="time" value="00 : 00 : 00 : 00">
  <br>
  <input type="text" id="ms" value="0">
    
<script>
var startTime;
var intervalTime;
var pastTime = 0;

function elem(id) {
  return document.getElementById(id);
}

elem('today').value = getToday();
elem('youbi').value = getYoubi();

stopWatch();

function stopWatch() {
  var today = elem('today').value;
  startTime = new Date(today);
  intervalTime = setInterval(culcTime, 10); 
} 

function culcTime() { 
  var stopTime = new Date();
  var milsec = stopTime - startTime + pastTime;//差分のミリ秒
  elem("ms").value = milsec;
  var hour = Math.floor(milsec / 1000 / 60 / 60);//差分のミリ秒を/秒にして/分にして/時にして小数点以下切り捨てる
  
  var milsecM = milsec - (hour * 60 * 60 * 1000);//差分のミリ秒からhour分のミリ秒を引いた残りのミリ秒
  var min = Math.floor(milsecM / 1000 / 60);//それを/秒にして/分にして小数点以下を切り捨てる
  
  var milsecS = milsecM - (min * 60 * 1000);//差分のミリ秒からhour分のミリ秒を引いた残りのミリ秒からmin分のミリ秒を引いた残りのミリ秒
  var sec = Math.floor(milsecS / 1000);//それを/秒にして小数点以下を切り捨てる
  
  var milsecMS = milsecS % 1000;//差分のミリ秒からhour分のミリ秒を引いた残りのミリ秒からmin分のミリ秒を引いた残りのミリ秒を秒にした余りのミリ秒
  var milsec = milsecMS.toString().slice(0, 2);//それを2桁にする
  var time = add0([hour, min, sec, milsec]);
  elem('time').value = time.join(' : ');
}

//add0([hour, min, sec, milsec])の形で配列で来てそれぞれ一桁なら頭に0をつける
function add0(times) {
  for(var i = 0; i < times.length; i++) {
    if(times[i] < 10) {
      times[i] = "0" + times[i];
    }
  }
  return times;
}

function getToday() {
  var today = new Date();//現在日時 
  var obj = getDateObj(today);
  var date = add0([obj['year'], obj['month'], obj['date']]).join('/');
  return date; 
}

function getDateObj(target) {
  var year = target.getFullYear();
  var month = target.getMonth() + 1;
  var date = target.getDate();
  var dayNum = target.getDay();
  var obj = {};
  obj['year'] = year;
  obj['month'] = month;
  obj['date'] = date;
  obj['dayNum'] = dayNum;
  return obj;
}

function getYoubi() {
  var SEVEN_DAYS = "日月火水木金土";
  var today = new Date();//現在日時 
  var dateObj = getDateObj(today);
  var youbi = SEVEN_DAYS[dateObj['dayNum']];
  return youbi;
}

</script>
  </body>
</html>