우리가 호출 할 때 getMonth()
와 getDate()
에 date
객체, 우리는 얻을 것이다 single digit number
. 예를 들면 다음과 같습니다.
에 대해 january
표시 1
되지만로 표시해야합니다 01
. 그렇게하는 방법?
우리가 호출 할 때 getMonth()
와 getDate()
에 date
객체, 우리는 얻을 것이다 single digit number
. 예를 들면 다음과 같습니다.
에 대해 january
표시 1
되지만로 표시해야합니다 01
. 그렇게하는 방법?
답변:
("0" + this.getDate()).slice(-2)
날짜와 비슷한 :
("0" + (this.getMonth() + 1)).slice(-2)
그 달 동안.
function addZ(n){return n<10? '0'+n:''+n;}
, 좀 더 일반적입니다.
getMonth
및 getDate
반환 숫자가 아닌 문자열. 그리고 문자열과의 호환성이 필요한 '0' + Number(n)
경우 작업을 수행합니다.
"YYYY-MM-DDTHH : mm : ss"와 같은 형식을 원하면 더 빠를 수 있습니다.
var date = new Date().toISOString().substr(0, 19);
// toISOString() will give you YYYY-MM-DDTHH:mm:ss.sssZ
또는 일반적으로 사용되는 MySQL 날짜 / 시간 형식 "YYYY-MM-DD HH : mm : ss":
var date2 = new Date().toISOString().substr(0, 19).replace('T', ' ');
이게 도움이 되길 바란다
월의 예 :
function getMonth(date) {
var month = date.getMonth() + 1;
return month < 10 ? '0' + month : '' + month; // ('' + month) for string result
}
Date
이러한 기능으로 객체를 확장 할 수도 있습니다 .
Date.prototype.getMonthFormatted = function() {
var month = this.getMonth() + 1;
return month < 10 ? '0' + month : '' + month; // ('' + month) for string result
}
이를 수행하는 가장 좋은 방법은 다음과 같이 간단한 포맷터를 만드는 것입니다.
getDate()
반환 (1-31)에서 해당 월의 일
getMonth()
(0-11에서) 월 반환 < 제로는, 0 = 1 월, 11 = 12 월
getFullYear()
년 반환 (네 자리 숫자) < 사용 안 함getYear()
function formatDateToString(date){
// 01, 02, 03, ... 29, 30, 31
var dd = (date.getDate() < 10 ? '0' : '') + date.getDate();
// 01, 02, 03, ... 10, 11, 12
var MM = ((date.getMonth() + 1) < 10 ? '0' : '') + (date.getMonth() + 1);
// 1970, 1971, ... 2015, 2016, ...
var yyyy = date.getFullYear();
// create the format you want
return (dd + "-" + MM + "-" + yyyy);
}
왜 사용하지 padStart
않습니까?
var dt = new Date();
year = dt.getYear() + 1900;
month = (dt.getMonth() + 1).toString().padStart(2, "0");
day = dt.getDate().toString().padStart(2, "0");
console.log(year + '/' + month + '/' + day);
월 또는 일이 10보다 작은 경우에도 항상 2 자리 숫자를 반환합니다.
노트:
getYear()
1900 년부터 연도를 반환하며 필요하지 않습니다 padStart
.getMonth()
월을 0에서 11까지 반환합니다.
getDate()
1에서 31 사이의 요일을 반환합니다.
07
오므로 문자열을 채우기 전에 1을 추가 할 필요가 없습니다.다음은 삼항 연산자를 사용하여 db2 날짜 형식, 즉 YYYY-MM-DD를 변환하는 데 사용됩니다.
var currentDate = new Date();
var twoDigitMonth=((currentDate.getMonth()+1)>=10)? (currentDate.getMonth()+1) : '0' + (currentDate.getMonth()+1);
var twoDigitDate=((currentDate.getDate())>=10)? (currentDate.getDate()) : '0' + (currentDate.getDate());
var createdDateTo = currentDate.getFullYear() + "-" + twoDigitMonth + "-" + twoDigitDate;
alert(createdDateTo);
이것은 내 해결책이었습니다.
function leadingZero(value) {
if (value < 10) {
return "0" + value.toString();
}
return value.toString();
}
var targetDate = new Date();
targetDate.setDate(targetDate.getDate());
var dd = targetDate.getDate();
var mm = targetDate.getMonth() + 1;
var yyyy = targetDate.getFullYear();
var dateCurrent = leadingZero(mm) + "/" + leadingZero(dd) + "/" + yyyy;
Moment.js를 사용하면 다음 과 같이 할 수 있습니다.
moment(new Date(2017, 1, 1)).format('DD') // day
moment(new Date(2017, 1, 1)).format('MM') // month
대답은 아니지만 변수에 필요한 날짜 형식을 얻는 방법은 다음과 같습니다.
function setDateZero(date){
return date < 10 ? '0' + date : date;
}
var curr_date = ev.date.getDate();
var curr_month = ev.date.getMonth() + 1;
var curr_year = ev.date.getFullYear();
var thisDate = curr_year+"-"+setDateZero(curr_month)+"-"+setDateZero(curr_date);
도움이 되었기를 바랍니다!
MDN 팁 :
function date_locale(thisDate, locale) {
if (locale == undefined)
locale = 'fr-FR';
// set your default country above (yes, I'm french !)
// then the default format is "dd/mm/YYY"
if (thisDate == undefined) {
var d = new Date();
} else {
var d = new Date(thisDate);
}
return d.toLocaleDateString(locale);
}
var thisDate = date_locale();
var dayN = thisDate.slice(0, 2);
var monthN = thisDate.slice(3, 5);
console.log(dayN);
console.log(monthN);
new Date().getMonth()
메소드는 월을 숫자 (0-11)로 리턴합니다.
이 기능을 사용하면 월 번호를 쉽게 수정할 수 있습니다.
function monthFormatted() {
var date = new Date(),
month = date.getMonth();
return month+1 < 10 ? ("0" + month) : month;
}
function GetDateAndTime(dt) {
var arr = new Array(dt.getDate(), dt.getMonth(), dt.getFullYear(),dt.getHours(),dt.getMinutes(),dt.getSeconds());
for(var i=0;i<arr.length;i++) {
if(arr[i].toString().length == 1) arr[i] = "0" + arr[i];
}
return arr[0] + "." + arr[1] + "." + arr[2] + " " + arr[3] + ":" + arr[4] + ":" + arr[5];
}
그리고 다른 버전은 https://jsfiddle.net/ivos/zcLxo8oy/1/ 입니다.
var dt = new Date(2016,5,1); // just for the test
var separator = '.';
var strDate = (dt.getFullYear() + separator + (dt.getMonth() + 1) + separator + dt.getDate());
// end of setup
strDate = strDate.replace(/(\b\d{1}\b)/g, "0$1")
여기에 대한 답변이 도움이되었지만 기본 이름으로 월, 날짜, 월, 시간 및 초뿐만 아니라 그 이상이 필요합니다.
흥미롭게도, "0"을 앞에 추가해야했지만 "+ 1"은 다른 달이 아닌 한 달 동안 만 필요했습니다.
예를 들어 :
("0" + (d.getMonth() + 1)).slice(-2) // Note: +1 is needed
("0" + (d.getHours())).slice(-2) // Note: +1 is not needed
내 해결책 :
function addLeadingChars(string, nrOfChars, leadingChar) {
string = string + '';
return Array(Math.max(0, (nrOfChars || 2) - string.length + 1)).join(leadingChar || '0') + string;
}
용법:
var
date = new Date(),
month = addLeadingChars(date.getMonth() + 1),
day = addLeadingChars(date.getDate());
jsfiddle : http://jsfiddle.net/8xy4Q/1/
var net = require('net')
function zeroFill(i) {
return (i < 10 ? '0' : '') + i
}
function now () {
var d = new Date()
return d.getFullYear() + '-'
+ zeroFill(d.getMonth() + 1) + '-'
+ zeroFill(d.getDate()) + ' '
+ zeroFill(d.getHours()) + ':'
+ zeroFill(d.getMinutes())
}
var server = net.createServer(function (socket) {
socket.end(now() + '\n')
})
server.listen(Number(process.argv[2]))
u가 getDate () 함수가 1 대신 01로 날짜를 반환하도록하려면 여기에 코드가 있습니다. 오늘 날짜가 01-11-2018이라고 가정하겠습니다.
var today = new Date();
today = today.getFullYear()+ "-" + (today.getMonth() + 1) + "-" + today.getDate();
console.log(today); //Output: 2018-11-1
today = today.getFullYear()+ "-" + (today.getMonth() + 1) + "-" + ((today.getDate() < 10 ? '0' : '') + today.getDate());
console.log(today); //Output: 2018-11-01
나는 이런 식으로하고 싶었고 이것이 내가 한 일이다.
추신 : 나는 정답이 있다는 것을 알고 있지만 여기에 내 자신의 것을 추가하고 싶었습니다.
const todayIs = async () =>{
const now = new Date();
var today = now.getFullYear()+'-';
if(now.getMonth() < 10)
today += '0'+now.getMonth()+'-';
else
today += now.getMonth()+'-';
if(now.getDay() < 10)
today += '0'+now.getDay();
else
today += now.getDay();
return today;
}
currentDate(){
var today = new Date();
var dateTime = today.getFullYear()+'-'+
((today.getMonth()+1)<10?("0"+(today.getMonth()+1)):(today.getMonth()+1))+'-'+
(today.getDate()<10?("0"+today.getDate()):today.getDate())+'T'+
(today.getHours()<10?("0"+today.getHours()):today.getHours())+ ":" +
(today.getMinutes()<10?("0"+today.getMinutes()):today.getMinutes())+ ":" +
(today.getSeconds()<10?("0"+today.getSeconds()):today.getSeconds());
return dateTime;
},
Moment https://momentjs.com/ 이라는 다른 라이브러리를 사용하는 것이 좋습니다.
이런 식으로 추가 작업을하지 않고도 날짜를 직접 형식화 할 수 있습니다
const date = moment().format('YYYY-MM-DD')
// date: '2020-01-04'
사용할 수 있도록 순간을 가져와야합니다.
yarn add moment
# to add the dependency
import moment from 'moment'
// import this at the top of the file you want to use it in
이것이 도움이되기를 바랍니다 : D
$("body").delegate("select[name='package_title']", "change", function() {
var price = $(this).find(':selected').attr('data-price');
var dadaday = $(this).find(':selected').attr('data-days');
var today = new Date();
var endDate = new Date();
endDate.setDate(today.getDate()+parseInt(dadaday));
var day = ("0" + endDate.getDate()).slice(-2)
var month = ("0" + (endDate.getMonth() + 1)).slice(-2)
var year = endDate.getFullYear();
var someFormattedDate = year+'-'+month+'-'+day;
$('#price_id').val(price);
$('#date_id').val(someFormattedDate);
});