Với một đối tượng ngày, làm thế nào để có được ngày đầu tiên của tháng trước nó trong javascriptTìm ngày đầu tiên của tháng trước trong javascript
Trả lời
function firstDayInPreviousMonth(yourDate) {
var d = new Date(yourDate);
d.setDate(1);
d.setMonth(d.getMonth() - 1);
return d;
}
EDIT: Được rồi ... Tôi đã chắc chắn học được một cái gì đó ở đây. Tôi nghĩ rằng đây là giải pháp đơn giản nhất mà bao gồm tất cả các trường hợp (và có, nó không làm việc cho tháng Giêng):
function firstDayInPreviousMonth(yourDate) {
return new Date(yourDate.getFullYear(), yourDate.getMonth() - 1, 1);
}
Lưu ý rằng điều này sẽ FAIL cho một cái gì đó như: firstDayInPreviousMonth (ngày mới ("Mar 31 2009")). Xem các bình luận trên: http://stackoverflow.com/questions/499838/javascript-date-next-month – Shog9
Nó sẽ không thất bại nếu anh ta setDate (1) trước khi thực hiện setMonth() –
Có, nó hoạt động tốt. – Shog9
Sau đây nên làm việc:
now = new Date();
if (now.getMonth() == 0) {
current = new Date(now.getFullYear() - 1, 11, 1);
} else {
current = new Date(now.getFullYear(), now.getMonth() - 1, 1);
}
hãy ghi nhớ rằng tháng là zero- dựa nên tháng mười hai là chứ không phải 12.
Nhưng, như những người khác đã chỉ ra, liệu pháp quấn tháng, thậm chí như một phần của các nhà xây dựng nguyên tử, vì vậy sau đây cũng có thể:
0.123.now = new Date();
firstDayPrevMonth = new Date(now.getFullYear(), now.getMonth() - 1, 1);
Tôi thích cách tiếp cận này, nhưng giải pháp của bạn thực sự là không chính xác. Khi getMonth() == 1, tháng là tháng Hai.Bạn muốn kiểm tra getMonth() == 0, và thậm chí không cần thiết vì hàm tạo ngày sẽ chấp nhận các giá trị âm và hoạt động chính xác. – Prestaul
Bạn đang bỏ qua thực tế là setMonth sẽ bao bọc các giá trị. Câu trả lời của Prestaul hoạt động tốt cho tháng Giêng. – overslacked
Có, nhưng không phải để quay trở lại một tháng mà số ngày ít hơn, thật không may. Tốt hơn là xây dựng ngày mới theo nguyên tử chứ không phải từng phần. – paxdiablo
Tôi thích giải pháp này. Nó có thể không phải là ngắn nhất, nhưng nó nhấn mạnh một số chức năng của phương pháp setDate() trên Date() đối tượng mà không phải ai cũng sẽ phải làm quen với:
function firstDayPreviousMonth(originalDate) {
var d = new Date(originalDate);
d.setDate(0); // set to last day of previous month
d.setDate(1); // set to the first day of that month
return d;
}
Nó làm cho việc sử dụng thực tế là .setDate (0) sẽ thay đổi ngày để trỏ đến ngày cuối cùng của tháng trước đó, trong khi .setDate (1) sẽ thay đổi ngày đó (tiếp theo) để trỏ đến ngày đầu tiên của tháng đó. Nó cho phép các libs Javascript cốt lõi thực hiện việc nâng hạng nặng.
Bạn có thể thấy working Plunk here.
Nó sẽ giúp bạn có được tháng trước và ngày cuối cùng.
function getLastMonth(){
var now = new Date();
var lastday = new Date(now.getFullYear(), now.getMonth(), 0);
var firstday = new Date(lastday.getFullYear(), lastday.getMonth(), 1);
var lastMonth = firstday.getDate()+'/'+(firstday.getMonth()+1)+'/'+firstday.getFullYear()+' - '+lastday.getDate()+'/'+(firstday.getMonth()+1)+'/'+lastday.getFullYear();
return lastMonth;
}
- 1. Nhận ngày đầu tiên của tháng trước đó từ ngày hiện tại trong JavaScript
- 2. Chọn ngày đầu tiên của tháng trước trong (DB2) SQL
- 3. Lấy ngày tháng đầu tiên và ngày cuối cùng của tháng trước đó trong C#
- 4. NSDate cho ngày đầu tiên của tháng
- 5. javascript ngày ngày cuối cùng của tháng trước
- 6. Cách tìm ngày đầu tiên của tháng tiếp theo, nếu tháng hiện tại là tháng
- 7. Ngày hạn chế ngày tháng trong ngày đầu tiên trong trường ngày đầu tiên
- 8. Tìm ngày đầu tiên của lịch
- 9. Cách tốt nhất để có được ngày đầu tiên và cuối cùng của tháng trước?
- 10. Tìm Ngày đầu tiên của tuần qua php
- 11. Nhận ngày đầu tiên của tháng ở bưu điện
- 12. Ngày đầu tiên và ngày cuối cùng của tháng hiện tại
- 13. Lấy ngày đầu tiên của tháng của tháng/năm cụ thể
- 14. Cách lấy dấu thời gian của tháng hiện tại, ngày đầu tiên của tháng, số giờ
- 15. Cách tìm ngày đầu tiên của tháng tiếp theo và các ngày còn lại cho đến ngày này với PHP
- 16. cách lấy ngày đầu tiên và ngày cuối cùng của tháng trước bằng cách sử dụng sql
- 17. Cách đơn giản nhất để tạo ngày tháng là ngày đầu tiên của tháng, được đưa ra ngày khác
- 18. Chỉ mục tháng của đối tượng ngày tháng JavaScript bắt đầu bằng 0
- 19. Tìm ngày tháng trong chuỗi
- 20. Oracle, Make ngày đầu tiên ngày thời gian của tháng nó
- 21. Đặt ngày giờ thành ngày đầu tiên của tháng tiếp theo?
- 22. ngày tháng trước năm 1970
- 23. Làm thế nào để có được ngày đầu tiên của năm hiện tại trong javascript?
- 24. Làm thế nào để có được ngày đầu tiên của mỗi tháng tương ứng trong mysql?
- 25. Cách tìm ngày cuối cùng của tháng?
- 26. Lấy Đầu tiên hoặc Thứ sáu tuần trước trong một tháng
- 27. Trình giữ ngày tháng jQuery để ngăn ngày trước
- 28. ngày 29 tháng 2 so với ngày 28 tháng 2 của năm trước
- 29. Nhãn trục Highcharts trước điểm đầu tiên
- 30. Đầu tiên [Thứ Hai] của tháng, Thứ Hai [Thứ Năm] của tháng, v.v. Delphi
một tiêu đề mô tả hơn có thể được tốt đẹp ... – helloandre
tôi cập nhật tiêu đề – Prestaul
http://stackoverflow.com/questions/594054/date-problem-in-java trông giống như câu hỏi trước của bạn là dành cho java. Vì vậy, không chính xác một bản sao :) –