用Java或JavaScript显示日期名称为星期五的月份或年份的日期?
我如何用Java或JavaScript显示以星期五命名的月份或年份的日期 例如,对于2011年12月,代码将显示:用Java或JavaScript显示日期名称为星期五的月份或年份的日期?,java,javascript,Java,Javascript,我如何用Java或JavaScript显示以星期五命名的月份或年份的日期 例如,对于2011年12月,代码将显示: 2011年2月12日 2011年9月12日 2011年12月16日 2011年12月23日 2011年12月30日 类似于以下内容: newsimpledateformat(“yyyy-MM-dd-EEEE”,Locale.US).format(date)) 例如,对于Dec 19,它打印: 2011年12月19日星期一 newsimpledateformat(“yyyy-MM-
- 2011年2月12日
- 2011年9月12日
- 2011年12月16日
- 2011年12月23日
- 2011年12月30日
- 类似于以下内容:
newsimpledateformat(“yyyy-MM-dd-EEEE”,Locale.US).format(date))代码>
例如,对于Dec 19,它打印:
2011年12月19日星期一
newsimpledateformat(“yyyy-MM-dd-EEEE”,Locale.US).format(date))代码>
例如,对于Dec 19,它打印:
2011-12-19星期一
在java中,您可以使用java.util.Calendar类
Calendar c = Calendar.newInstance();
c.setTime(System.currentTimeInMills());
if (c.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY) {
.. do your stuff here
}
此外,您还可以迭代几天:
Calendar c = Calendar.newInstance();
c.add(1, Calendar.DAY);
在java中,可以使用java.util.Calendar类
Calendar c = Calendar.newInstance();
c.setTime(System.currentTimeInMills());
if (c.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY) {
.. do your stuff here
}
此外,您还可以迭代几天:
Calendar c = Calendar.newInstance();
c.add(1, Calendar.DAY);
在Java中:
for (int i = 1; i <= 31; i++) {
Calendar cal = new GregorianCalendar(2011, Calendar.DECEMBER, i);
if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY) {
// process date
}
}
Java中(inti=1;i的for:
for (int i = 1; i <= 31; i++) {
Calendar cal = new GregorianCalendar(2011, Calendar.DECEMBER, i);
if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY) {
// process date
}
}
for(inti=1;i在Javascript中
function getFridays(year,month){
var fridays=new Array();
var i=0;
var tdays=new Date(year, month, 0).getDate();
for(date=0;date<=tdays;date++) {
sdate=(date<10)?"0"+date:date;
dd=(month+1)+"/"+sdate+"/"+year;
var day=new Date(year,month,date);
if(day.getDay() == 5 )
{
fridays[i++]=dd;
}
}
return fridays;
}
函数getFridays(年、月){
var fridays=新数组();
var i=0;
var tdays=新日期(年、月、0).getDate();
对于(Javascript中的日期=0;日期)
function getFridays(year,month){
var fridays=new Array();
var i=0;
var tdays=new Date(year, month, 0).getDate();
for(date=0;date<=tdays;date++) {
sdate=(date<10)?"0"+date:date;
dd=(month+1)+"/"+sdate+"/"+year;
var day=new Date(year,month,date);
if(day.getDay() == 5 )
{
fridays[i++]=dd;
}
}
return fridays;
}
函数getFridays(年、月){
var fridays=新数组();
var i=0;
var tdays=新日期(年、月、0).getDate();
对于(date=0;date这是我的JavaScript尝试。我怀疑它的效率非常低,您必须按照JavaScript预期的方式提供月份,即一月是0,十二月是11
function showFridays(year, month) {
var dates = [];
var months = [];
if(!month){
for(var i=0; i<12; i++) {
months.push(i);
}
}
else {
months.push(month);
}
for(var i=0; i<months.length; i++){
var month_number = months[i];
for(var j=1; j<32; j++) {
var date = new Date(year, month_number, j)
// Because e.g. new Date(2011,2,31) will evaluate to 3rd March, check that date.getMonth() returns the same number as we passed in, so that we reject duplicate dates.
if(date.getDay() == 5 && date.getMonth() == month_number) {
dates.push(date);
}
}
}
for(var i=0; i<dates.length; i++) {
console.log(dates[i].toLocaleString());
}
}
功能显示星期五(年、月){
var日期=[];
var月数=[];
如果(!月){
对于(var i=0;i这是我的JavaScript尝试。我怀疑它的效率非常低,您必须按照JavaScript预期的方式提供月份,即1月为0,12月为11
function showFridays(year, month) {
var dates = [];
var months = [];
if(!month){
for(var i=0; i<12; i++) {
months.push(i);
}
}
else {
months.push(month);
}
for(var i=0; i<months.length; i++){
var month_number = months[i];
for(var j=1; j<32; j++) {
var date = new Date(year, month_number, j)
// Because e.g. new Date(2011,2,31) will evaluate to 3rd March, check that date.getMonth() returns the same number as we passed in, so that we reject duplicate dates.
if(date.getDay() == 5 && date.getMonth() == month_number) {
dates.push(date);
}
}
}
for(var i=0; i<dates.length; i++) {
console.log(dates[i].toLocaleString());
}
}
功能显示星期五(年、月){
var日期=[];
var月数=[];
如果(!月){
对于(var i=0;i定义此函数:
function getFridays(month, year){
var ret = [];
for(var i = 1; i <= 31; i++){
var date = new Date();
date.setDate(i);
date.setMonth(month - 1);
date.setFullYear(year);
if(date.getDay() === 5){
var today = date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear();
ret.push(today);
}
}
return ret;
}
这里有一个JavaScript解决方案
编辑:根据对另一个解决方案的评论更新逻辑:
function getFridays(month, year){
var ret = [];
for(var i = 1; i <= 7; i++){
var date = new Date();
date.setDate(i);
date.setMonth(month - 1);
date.setFullYear(year);
if(date.getDay() === 5){
var today = date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear();
ret.push(today);
for(var j = 1; j < 5; j++){
var d = date.getDate() + j * 7;
if(d <= 31){
ret.push((d) + '/' + (date.getMonth() + 1) + '/' + date.getFullYear());
}
}
}
}
return ret;
}
函数getFridays(月、年){
var-ret=[];
对于(var i=1;i定义此函数:
function getFridays(month, year){
var ret = [];
for(var i = 1; i <= 31; i++){
var date = new Date();
date.setDate(i);
date.setMonth(month - 1);
date.setFullYear(year);
if(date.getDay() === 5){
var today = date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear();
ret.push(today);
}
}
return ret;
}
这里有一个JavaScript解决方案
编辑:根据对另一个解决方案的评论更新逻辑:
function getFridays(month, year){
var ret = [];
for(var i = 1; i <= 7; i++){
var date = new Date();
date.setDate(i);
date.setMonth(month - 1);
date.setFullYear(year);
if(date.getDay() === 5){
var today = date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear();
ret.push(today);
for(var j = 1; j < 5; j++){
var d = date.getDate() + j * 7;
if(d <= 31){
ret.push((d) + '/' + (date.getMonth() + 1) + '/' + date.getFullYear());
}
}
}
}
return ret;
}
函数getFridays(月、年){
var-ret=[];
对于(var i=1;i,这里是我的最佳Javascript尝试
它的工作原理是通过算法确定一个月的第一个星期五的日期,然后一次向前7天,直到这个月结束
// find all dates that fall on a particular day of the week
// for the given year and month
function getDaysOfMonth(year, month, dow) {
--month; // to correct for JS date functions
var d = new Date(year, month, 1); // get the first of the month
var dow_first = d.getDay(); // find out what DoW that was
var date = (7 + dow - dow_first) % 7 + 1; // and the first day matching dow
var dates = [];
d.setDate(date);
do {
dates.push(new Date(d)); // store a copy of that date
date += 7; // go forward a week
d.setDate(date);
} while (d.getMonth() === month); // until the end of the month
return dates;
}
演示,星期五(JS格式的第5天):
document.write(getDaysOfMonth(2011,12,5).join(“
”);
请参阅完整的工作演示
要获得全年的日期,只需调用它12次,然后合并结果;-)以下是我的最佳Javascript尝试
它的工作原理是通过算法确定一个月的第一个星期五的日期,然后一次向前7天,直到这个月结束
// find all dates that fall on a particular day of the week
// for the given year and month
function getDaysOfMonth(year, month, dow) {
--month; // to correct for JS date functions
var d = new Date(year, month, 1); // get the first of the month
var dow_first = d.getDay(); // find out what DoW that was
var date = (7 + dow - dow_first) % 7 + 1; // and the first day matching dow
var dates = [];
d.setDate(date);
do {
dates.push(new Date(d)); // store a copy of that date
date += 7; // go forward a week
d.setDate(date);
} while (d.getMonth() === month); // until the end of the month
return dates;
}
演示,星期五(JS格式的第5天):
document.write(getDaysOfMonth(2011,12,5).join(“
”);
请参阅完整的工作演示
要获取全年的日期,只需调用12次,然后合并结果;-)以下是一个Java示例,适用于2011年12月。更改日期以适合您的用例:
Calendar beginCalendar = Calendar.getInstance();
//initialize the date to the first day the desired year and month
//Below example initializes to 1st of December 2011
beginCalendar.set(2011,Calendar.DECEMBER,1);
Calendar endCalendar = Calendar.getInstance();
//set the end date to the end of the month using the begin date
endCalendar.set(beginCalendar.get(Calendar.YEAR),beginCalendar.get(Calendar.MONTH),beginCalendar.getActualMaximum(Calendar.DAY_OF_MONTH));
//loop through till we hit the first friday of the month
while(beginCalendar.get(Calendar.DAY_OF_WEEK) != Calendar.FRIDAY){
beginCalendar.add(Calendar.DATE,1);
}
//loop from the first friday of the month till the end of month and add 1 week in each iteration.
while (beginCalendar.compareTo(endCalendar) <= 0) {
System.out.println(beginCalendar.getTime().toString());//this prints all the fridays in the given month
beginCalendar.add(Calendar.WEEK_OF_YEAR, 1);
}
日历beginCalendar=Calendar.getInstance();
//将日期初始化为所需年和月的第一天
//以下示例初始化为2011年12月1日
beginCalendar.set(2011年,日历,12月1日);
Calendar endCalendar=Calendar.getInstance();
//使用开始日期将结束日期设置为月底
endCalendar.set(beginCalendar.get(Calendar.YEAR)、beginCalendar.get(Calendar.MONTH)、beginCalendar.getActualMaximum(Calendar.DAY/u MONTH));
//循环直到我们到达这个月的第一个星期五
while(beginCalendar.get(Calendar.DAY\u OF u WEEK)!=Calendar.周五){
添加(日历日期,1);
}
//循环从月的第一个星期五到月底,并在每个迭代中添加1周。
while(beginCalendar.compareTo(endCalendar)下面是一个Java示例,适用于2011年12月。更改日期以适合您的用例:
Calendar beginCalendar = Calendar.getInstance();
//initialize the date to the first day the desired year and month
//Below example initializes to 1st of December 2011
beginCalendar.set(2011,Calendar.DECEMBER,1);
Calendar endCalendar = Calendar.getInstance();
//set the end date to the end of the month using the begin date
endCalendar.set(beginCalendar.get(Calendar.YEAR),beginCalendar.get(Calendar.MONTH),beginCalendar.getActualMaximum(Calendar.DAY_OF_MONTH));
//loop through till we hit the first friday of the month
while(beginCalendar.get(Calendar.DAY_OF_WEEK) != Calendar.FRIDAY){
beginCalendar.add(Calendar.DATE,1);
}
//loop from the first friday of the month till the end of month and add 1 week in each iteration.
while (beginCalendar.compareTo(endCalendar) <= 0) {
System.out.println(beginCalendar.getTime().toString());//this prints all the fridays in the given month
beginCalendar.add(Calendar.WEEK_OF_YEAR, 1);
}
日历beginCalendar=Calendar.getInstance();
//将日期初始化为所需年和月的第一天
//以下示例初始化为2011年12月1日
beginCalendar.set(2011年,日历,12月1日);
Calendar endCalendar=Calendar.getInstance();
//使用开始日期将结束日期设置为月底
endCalendar.set(beginCalendar.get(Calendar.YEAR)、beginCalendar.get(Calendar.MONTH)、beginCalendar.getActualMaximum(Calendar.DAY/u MONTH));
//循环直到我们到达这个月的第一个星期五
while(beginCalendar.get(Calendar.DAY\u OF u WEEK)!=Calendar.周五){
添加(日历日期,1);
}
//循环从月的第一个星期五到月底,并在每个迭代中添加1周。
while(beginCalendar.compareTo(endCalendar)或者?它们都是非常不同的东西。@Matt:当然,但这家伙可能在服务器上用Java做web应用,而不管显示是在服务器上还是在客户端。你知道如何用Java显示吗?请让我知道。可能的重复:Java到Javascript就像汽车到地毯一样。或者?它们都是非常不同的东西@Matt:当然可以,但这家伙可能在服务器上用Java做一个web应用程序,而不管显示是在服务器上还是在客户端。你知道如何用Java显示吗?请告诉我。可能的重复:Java到Javascript就像汽车到地毯一样。如果我没弄错的话,他想知道12月的所有周五。不是第十天E