在java中如何通过一个月份,获得该月份的第一天的日期?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java中如何通过一个月份,获得该月份的第一天的日期?相关的知识,希望对你有一定的参考价值。

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

public class Test
public static void main(String[] args)
Calendar calendar = Calendar.getInstance(Locale.CHINA);
calendar.setTime(new Date());// 设置当前日期
int day = calendar.getMinimum(Calendar.DAY_OF_MONTH);// 取得当前月的最小日期(天)
calendar.set(Calendar.DAY_OF_MONTH, day);// 设置天
String sDate = new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime());// 格式化成字符串
System.out.println(sDate);// 打印

参考技术A public static String getFirstDayOfMonth(int year,int month)

Calendar cal = Calendar.getInstance();
//设置年份
cal.set(Calendar.YEAR,year);
//设置月份
cal.set(Calendar.MONTH, month-1);
//设置日历中月份的第1天
cal.set(Calendar.DAY_OF_MONTH, 1);
//格式化日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String firstDayOfMonth = sdf.format(cal.getTime());

return firstDayOfMonth ;
参考技术B 兄弟,这算什么问题啊?我怎么看不懂啊?通过一个月份得到该月第一天的日期?当然是这个月的1号啦! 传入参数6 传出6月1号 不知我理解的对不对!追问

恩!就是你这个意思。

追答

返回值要求是一个String还是一个Date

追问

Date

追答

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Test
public static void main(String[] args)
Test t = new Test();
Date d = t.test(8);
System.out.println(d);


public Date test(int month)
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
String str = year+"-"+month+"-1";
Date d=null;
try
d = new SimpleDateFormat("yyyy-MM-dd").parse(str);
catch (ParseException e)
e.printStackTrace();

return d;


------------------------------------------------------------------------------
不明白再追问吧

本回答被提问者采纳
参考技术C //获得下个月第一天的日期
public String getNextMonthFirst()
String str = "";
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");

Calendar lastDate = Calendar.getInstance();
lastDate.add(Calendar.MONTH,1);//减一个月
lastDate.set(Calendar.DATE, 1);//把日期设置为当月第一天
str=sdf.format(lastDate.getTime());
return str;
追问

我的意思是:我假如输入8份,如何获得2011-8-1?

以上是关于在java中如何通过一个月份,获得该月份的第一天的日期?的主要内容,如果未能解决你的问题,请参考以下文章

SQL语句 如何取得指定月份的最后一天的日期

pandas通过DatetimeProperties对象获取日期对象是否是所在月份的第一天(is month start)筛选dataframe数据中日期对象是所在月份第一天的数据行

js代码实现,如何获取当前月份的最后一天

用SQL获取某个某年某个月份的最后一天的日期

如何在sql中从给定的月份和年份获取月份的第一天和最后一天

如果日期早于当前月份,则将日期转换为当前月份的第一天