alert(dateObj)
จะช่วยให้ Wed Dec 30 2009 00:00:00 GMT+0800
วิธีรับรูปแบบวันที่2009/12/30
?
alert(dateObj)
จะช่วยให้ Wed Dec 30 2009 00:00:00 GMT+0800
วิธีรับรูปแบบวันที่2009/12/30
?
คำตอบ:
var dateObj = new Date();
var month = dateObj.getUTCMonth() + 1; //months from 1-12
var day = dateObj.getUTCDate();
var year = dateObj.getUTCFullYear();
newdate = year + "/" + month + "/" + day;
หรือคุณสามารถกำหนดวันที่ใหม่และให้ค่าข้างต้น
getMonth
และgetUTCMonth
คืออะไร
getUTCDay()
ควรถูกแทนที่ด้วยgetUTCDate()
เนื่องจากวันคือจำนวนวันในสัปดาห์ (0-6) และวันที่คือจำนวนวันในเดือน (1-31)
var dt = new Date();
dt.getFullYear() + "/" + (dt.getMonth() + 1) + "/" + dt.getDate();
เนื่องจากดัชนีรายเดือนเป็น 0 คุณจะต้องเพิ่มขึ้นทีละ 1
แก้ไข
สำหรับรายการฟังก์ชันวัตถุวันที่ทั้งหมดให้ดู
getMonth()
ส่งคืนเดือน (0-11) ในวันที่ที่ระบุตามเวลาท้องถิ่น
getUTCMonth()
ส่งคืนเดือน (0-11) ในวันที่ที่ระบุตามเวลาสากล
new Date().toISOString()
"2016-02-18T23:59:48.039Z"
new Date().toISOString().split('T')[0];
"2016-02-18"
new Date().toISOString().replace('-', '/').split('T')[0].replace('-', '/');
"2016/02/18"
new Date().toLocaleString().split(',')[0]
"2/18/2016"
ฉันอยากจะแนะนำให้คุณใช้ Moment.js http://momentjs.com/
จากนั้นคุณสามารถทำได้:
moment(new Date()).format("YYYY/MM/DD");
หมายเหตุ: คุณไม่จำเป็นต้องเพิ่มจริง ๆnew Date()
หากคุณต้องการ TimeDate ปัจจุบันฉันเพิ่มมันเป็นข้อมูลอ้างอิงที่คุณสามารถส่งวัตถุวันที่ไปยังมันได้ สำหรับ TimeDate ปัจจุบันนี้ยังใช้งานได้:
moment().format("YYYY/MM/DD");
ข้อมูล
หากต้องการเดือนและวันที่ 2 หลัก (2016/01/01 กับ 2016/1/1)
รหัส
var dateObj = new Date();
var month = ('0' + (dateObj.getMonth() + 1)).slice(-2);
var date = ('0' + dateObj.getDate()).slice(-2);
var year = dateObj.getFullYear();
var shortDate = year + '/' + month + '/' + date;
alert(shortDate);
เอาท์พุต
2016/10/06
ซอ
https://jsfiddle.net/Hastig/1xuu7z7h/
เครดิต
ข้อมูลเพิ่มเติมจากและให้เครดิตกับคำตอบนี้
มากกว่า
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ.slice
การลองแก้ไขด้วยตัวเองที่ w3schools ช่วยให้ฉันเข้าใจวิธีใช้งานได้ดีขึ้น
การจัดรูปแบบที่ดีเพิ่มใน: http://blog.stevenlevithan.com/archives/date-time-format http://blog.stevenlevithan.com/archives/date-time-format
ด้วยสิ่งที่คุณสามารถเขียน:
var now = new Date();
now.format("yyyy/mm/dd");
ใช้วิธีการรับวันที่
http://www.tizag.com/javascriptT/javascriptdate.php
http://www.htmlgoodies.com/beyond/javascript/article.php/3470841
var dateobj= new Date() ;
var month = dateobj.getMonth() + 1;
var day = dateobj.getDate() ;
var year = dateobj.getFullYear();
var date = new Date().toLocaleDateString()
"12/30/2009"
รูปแบบยุโรป (ภาษาอังกฤษ / ภาษาสเปน) รูปแบบ
ฉันต้องการวันปัจจุบันเช่นกันคุณสามารถใช้วันนี้ได้
function getFormattedDate(today)
{
var week = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
var day = week[today.getDay()];
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
var hour = today.getHours();
var minu = today.getMinutes();
if(dd<10) { dd='0'+dd }
if(mm<10) { mm='0'+mm }
if(minu<10){ minu='0'+minu }
return day+' - '+dd+'/'+mm+'/'+yyyy+' '+hour+':'+minu;
}
var date = new Date();
var text = getFormattedDate(date);
* สำหรับรูปแบบภาษาสเปนเพียงแปลตัวแปร WEEK
var week = new Array('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado');
ผลลัพธ์: วันจันทร์ - 16/11/2015 14:24 น
ด้วยคำตอบที่ยอมรับจะมีการแสดงวันที่ 1 มกราคมดังนี้: 2017/1/1
มกราคมจะแสดงเช่นนี้
หากคุณต้องการ2017/01/01
คุณสามารถใช้:
var dt = new Date();
var date = dt.getFullYear() + '/' + (((dt.getMonth() + 1) < 10) ? '0' : '') + (dt.getMonth() + 1) + '/' + ((dt.getDate() < 10) ? '0' : '') + dt.getDate();
ทำไมไม่ง่าย ๆ ?
dateObj.toISOString().slice(0, 10) // YYYY-MM-DD
ตรวจสอบที่นี่:
const date1 = new Date('December 17, 1995 03:24:00');
console.log(date1.toISOString().slice(0, 10))
นี่คือวิธีที่สะอาดกว่าในการรับปี / เดือน / วันด้วยตัวอักษรแม่แบบ:
var date = new Date();
var formattedDate = `${date.getFullYear()}/${(date.getMonth() + 1)}/${date.getDate()}`;
console.log(formattedDate);
let dateObj = new Date();
let myDate = (dateObj.getUTCFullYear()) + "/" + (dateObj.getMonth() + 1)+ "/" + (dateObj.getUTCDate());
สำหรับการอ้างอิงคุณสามารถดูรายละเอียดด้านล่าง
new Date().getDate() // Return the day as a number (1-31)
new Date().getDay() // Return the weekday as a number (0-6)
new Date().getFullYear() // Return the four digit year (yyyy)
new Date().getHours() // Return the hour (0-23)
new Date().getMilliseconds() // Return the milliseconds (0-999)
new Date().getMinutes() // Return the minutes (0-59)
new Date().getMonth() // Return the month (0-11)
new Date().getSeconds() // Return the seconds (0-59)
new Date().getTime() // Return the time (milliseconds since January 1, 1970)
let dateObj = new Date();
let myDate = (dateObj.getUTCFullYear()) + "/" + (dateObj.getMonth() + 1)+ "/" + (dateObj.getUTCDate());
console.log(myDate)
// ส่งคืนนาที (0-59) วันที่ใหม่ (). getMonth () // ส่งคืนเดือน (0-11) วันที่ใหม่ (). getSeconds () // ส่งคืนวินาที (0-59) วันที่ใหม่ () .getTime () // คืนเวลา (มิลลิวินาทีนับตั้งแต่ 1 มกราคม 1970)
คุณสามารถใช้รหัสบรรทัดนี้เพื่อรับวันที่ในรูปแบบวันเดือนปี
var date = new Date().getFullYear() + "-" + new Date().getMonth() + 1 + "-" + new Date().getDate();
ฉันใช้สิ่งนี้ซึ่งทำงานถ้าคุณผ่านวันที่ obj หรือ js timestamp:
getHumanReadableDate: function(date) {
if (date instanceof Date) {
return date.getDate() + "/" + (date.getMonth() + 1) + "/" + date.getFullYear();
} else if (isFinite(date)) {//timestamp
var d = new Date();
d.setTime(date);
return this.getHumanReadableDate(d);
}
}
ES2018 แนะนำกลุ่มการจับภาพ regex ซึ่งคุณสามารถใช้เพื่อจับวันเดือนและปี:
const REGEX = /(?<year>[0-9]{4})-(?<month>[0-9]{2})-(?<day>[0-9]{2});
const results = REGEX.exec('2018-07-12');
console.log(results.groups.year);
console.log(results.groups.month);
console.log(results.groups.day);
ข้อดีของวิธีนี้คือสามารถจับวันเดือนปีสำหรับรูปแบบวันที่ของสตริงที่ไม่ได้มาตรฐาน
อ้าง https://www.freecodecamp.org/news/es9-javascripts-state-of-art-in-2018-9a350643f29c/