source

JavaScript에서만 현재 시간을 얻는 방법

lovecheck 2023. 1. 12. 22:09
반응형

JavaScript에서만 현재 시간을 얻는 방법

자바스크립트로 현재 시각을 취득하여 타임피커로 사용하려면 어떻게 해야 하나요?

나는 노력했다.var x = Date()취득한 정보:

2012년 5월 15일 (화) 05:45:40 GMT-0500

하지만 난 지금 시간만 있으면 돼, 예를 들면05:45

이를 변수에 할당하려면 어떻게 해야 합니까?

var d = new Date("2011-04-20T09:30:51.01");
d.getHours(); // => 9
d.getMinutes(); // =>  30
d.getSeconds(); // => 51

또는

var d = new Date(); // for now
d.getHours(); // => 9
d.getMinutes(); // =>  30
d.getSeconds(); // => 51

간결하고 심플함:

new Date().toLocaleTimeString(); // 11:18:48 AM
//---
new Date().toLocaleDateString(); // 11/16/2015
//---
new Date().toLocaleString(); // 11/16/2015, 11:18:48 PM

4시간 후(밀리섹: sec==1000 사용):

new Date(new Date().getTime() + 4*60*60*1000).toLocaleTimeString(); // 3:18:48 PM or 15:18:48

2일 전:

new Date(new Date().getTime() - 2*24*60*60*1000).toLocaleDateString() // 11/14/2015

javascript를 사용하여 현재 시간을 효율적으로 취득 및 설정

나는 내가 필요로 하는 것을 정확히 할 수 있는 해결책을 찾을 수 없었다.깔끔하고 작은 코드가 필요해서 이걸 생각해냈어

(master.js에 한 번 설정하고 필요할 때 호출합니다.)

순수 자바스크립트

function timeNow(i) {
  var d = new Date(),
    h = (d.getHours()<10?'0':'') + d.getHours(),
    m = (d.getMinutes()<10?'0':'') + d.getMinutes();
  i.value = h + ':' + m;
}
<a onclick="timeNow(test1)" href="#">SET TIME</a>
<input id="test1" type="time" value="10:40" />


갱신하다

이제 단순히 다음을 사용할 수 있는 충분한 브라우저 지원이 제공되었습니다.toLocaleTimeString

html5 타입의 경우time형식은 다음과 같아야 합니다.hh:mm.

function timeNow(i) {
  i.value = new Date().toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'});
}
<a onclick="timeNow(test1)" href="#">SET TIME</a>
<input id="test1" type="time" value="10:40" />

Try it on jsfiddle

해라

new Date().toLocaleTimeString().replace("/.*(\d{2}:\d{2}:\d{2}).*/", "$1");

또는

new Date().toTimeString().split(" ")[0];

이 방법은 간단하게 사용할 수 있습니다.

console.log(new Date().toLocaleTimeString([], { hour: '2-digit', minute: "2-digit", hour12: false }));
console.log(new Date().toLocaleTimeString([], { hour: '2-digit', minute: "2-digit" }));

const date = Date().slice(16,21);
console.log(date);

무슨 뜻입니까?

var d = new Date();
var curr_hour = d.getHours();
var curr_min = d.getMinutes();

이것을 시험해 보세요.

var date = new Date();
var hour = date.getHours();
var min = date.getMinutes();
function getCurrentTime(){
    var date = new Date();
    var hh = date.getHours();
    var mm = date.getMinutes();

    hh = hh < 10 ? '0'+hh : hh; 
    mm = mm < 10 ? '0'+mm : mm;

    curr_time = hh+':'+mm;
    return curr_time;
}

이렇게 하면 됩니다.

const date = new Date();
const time = date.toTimeString().split(' ')[0].split(':');
console.log(time[0] + ':' + time[1])

다음 날짜 방법 참조...

  • to Locale Time String - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString

  • toTimeString - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toTimeString

이 -

var x = new Date(); 
var h = x.getHours(); 
var m = x.getMinutes(); 
var s = x.getSeconds(); 

그러니까...

 x = date
h = hours
m = mins
s = seconds

ES6에서 이를 수행하는 간단한 방법은 다음과 같습니다(hh:mm).

const goodTime = `${new Date().getHours()}:${new Date().getMinutes()}`;

console.log(goodTime);

(콘솔 로그는 솔루션의 일부가 아닌 것은 분명합니다.)

이거 드셔보세요

new Date().toTimeString().slice(0, 8);

또는

new Date().toTimeString().split(" ")[0];

그건 작동할 거야.

이것이 가장 빠른 길입니다.

var now = new Date().toLocaleTimeString();
console.log(now)

여기에서는 설명되지 않은 문자열 조작 방법도 제시되어 있습니다.

var now = new Date()
console.log(now.toString().substr(16,8))
var today = new Date();  //gets current date and time
var hour = today.getHours();         
var minute = today.getMinutes();
var second = today.getSeconds();

날짜와 시간을 구분하여 시간과 날짜 HTML 입력 포맷을 지원하는 간단한 기능

function formatDate(date) {
  var d         = new Date(date),
      month = '' + (d.getMonth() + 1),
      day   = '' + d.getDate(),
      year  = d.getFullYear();

  if (month.length < 2) month = '0' + month;
  if (day.length < 2) day = '0' + day;

  return [year, month, day].join('-');
}

function formatTime(date) {
        var hours   = new Date().getHours() > 9 ? new Date().getHours() : '0' + new Date().getHours()
        var minutes = new Date().getMinutes() > 9 ? new Date().getMinutes() : '0' + new Date().getMinutes()

        return hours + ':' + minutes
}
getTime() {
      let today = new Date();
      let h = today.getHours();
      let m = today.getMinutes();
      let s = today.getSeconds();
      h = h < 10 ? "0" + h : h;
      m = m < 10 ? "0" + m : m;
      s = s < 10 ? "0" + s : s;
      let time = h + ":" + m + ":" + s;
      return time;
    },

변수에 할당하여 표시합니다.

time = new Date();

var hh = time.getHours();
var mm = time.getMinutes();
var ss = time.getSeconds() 

document.getElementById("time").value = hh + ":" + mm + ":" + ss;

나한텐 잘 먹혔는데 이건 때렸을 때 뭐가 나오느냐에 따라 달라지잖아Date():

Date().slice(16,-12)

이렇게 하는 방법: (누군가에 도움이 되길 바랍니다.)사용자가 HTML 시간 입력에 입력한 시간이 과거가 아님을 확인합니다.

let inputTime = value; // from time input in html (06:29)

const splittedInputTime = inputTime.split(':');

let currentDate = new Date();
currentDate.setHours(splittedInputTime[0]);
currentDate.setMinutes(splittedInputTime[1]);

const finalInputTime = currentDate.toTimeString().split(" ")[0];

const currentTime = new Date().toTimeString().split(" ")[0];

// Returns a boolean (true/ false)
let validTime = finalInputTime >= currentTime;
var hours = date.getHours();
        var minutes = date.getMinutes();
        var ampm = hours >= 12 ? 'pm' : 'am';
        hours = hours % 12;
        hours = hours ? hours : 12; // the hour '0' should be '12'
        minutes = minutes < 10 ? '0'+minutes : minutes;
        var strTime = hours + ':' + minutes + ' ' + ampm;
        console.log(strTime);
        $scope.time = strTime;

        date.setDate(date.getDate()+1);
        month = '' + (date.getMonth() + 1),
        day = '' + date.getDate(1),
        year = date.getFullYear();
        if (month.length < 2) month = '0' + month;
        if (day.length < 2) day = '0' + day;
        var tomorrow = [year, month, day].join('-');
        $scope.tomorrow = tomorrow;

언급URL : https://stackoverflow.com/questions/10599148/how-do-i-get-the-current-time-only-in-javascript

반응형