Java- Calendar的用法&&输出日历时间&获取当前时间

java中, Calendar的用法多种多样。
!!!创建 Calendar对象,不是用new(),而是,如下代码:
Calendar c=Calendar.getInstance(); //默认为你的计算机的区时的calendar对象,我的电脑是"GMT+08:00"的日历

好吧,它的详细用法,我就用代码来表示,请看:(注意看注释!注释才是精华)

package package1;

import java.text.SimpleDateFormat;
import java.util.*;

public class No2 
{

	
	public static void main(String[] args) //Asia/Shanghai
	{
		   Calendar c=Calendar.getInstance();//默认为你的计算机的区时的calendar对象,我的电脑是"GMT+08:00"的日历
		  
		   //GMT(Greenwich Mean Time)**是格林尼治标准时间,+08:00 指标准时间加8小时,也就是北京时间。**
		  
		  // Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); //如果你出国了,想获取东八区时间
		   
		   //如果你想获取你电脑的时区等信息,可用代码:
           System.out.println("电脑时区信息是:"+c.getTimeZone()); 

		   //一般,做日历想得到日期,会先设计日期,如
		  //c.set(year,i,1); //设置year-month-day,Parameters:year.month.date
		  
		  //如果仅仅获取当前时间数据,如下:	  
		  int year = c.get(Calendar.YEAR);         //获取年
		  int month = c.get(Calendar.MONTH) + 1;   //获取月份,0表示1月,11表示12月,+1与日历月相同
		  int week =c.get(Calendar.DAY_OF_WEEK);   //获取星期几,SUNDAY=1, MONDAY=2, SATURDAY=7
		  int day = c.get(Calendar.DAY_OF_MONTH);    //获取当前天数
		  int first = c.getActualMinimum(c.DAY_OF_MONTH);    //获取现在月最小天数
		  int last = c.getActualMaximum(c.DAY_OF_MONTH);    //获取现在月最大天数
		  int hour = c.get(Calendar.HOUR_OF_DAY);       //获取当前小时
		  int minute = c.get(Calendar.MINUTE);          //获取当前分钟
		  int second = c.get(Calendar.SECOND);          //获取当前秒
          
          System.out.println("当前时间:"+year + "-" + month + "-"+ day + " "+hour + ":" + minute +":" + second);
		  System.out.println("第一天和最后天:" + first +"  " + last+" ");
		  
		  //自己定义日期时间格式
		  SimpleDateFormat date=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//yyyy-年,MM-月,dd-日,HH-时,mm-分,ss-秒
          String currentDate = date.format(c.getTime());  //当前日期
		  System.out.println("当前日期curDate = " +currentDate);
		   		  
	}

}


运行结果:
电脑时区信息是:sun.util.calendar.ZoneInfo[id=“Asia/Shanghai”,offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null]
当前时间:2020-7-12 17:55:18
第一天和最后天:1 31
当前日期curDate = 2020-07-12 17:55:18
//----------------------------------------------------------
嗯,知道Calendar的用法还是不够的,有时候,我们要随意改变时间的格式,
我们要知道SimpleDateFormatht的用法,好吧,请看代码和图片的格式:
SimpleDateFormat date=new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); //yyyy-年,MM-月,dd-日,HH-时,mm-分,ss-秒
在这里插入图片描述

ok,现在,根据上面的知识,我想做一个日历,循环输出2020-2022的日期。
看代码:

package package1;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
 
public class cc 
{
	public static void main(String[] args)      //循环输出2020到2022年每一天
	{
		List<String> Yeardates=new ArrayList();
		
		for (int year = 2020; year <= 2022; year++) 
			Yeardates.addAll(GetDaysOfYear(year));
		
		for (int i = 0; i < Yeardates.size(); i++) 
			System.out.println(Yeardates.get(i));
		
	}
	
	public static List<String> GetDaysOfYear(int year) //传入年,获取一年时间
	{
		Calendar c=Calendar.getInstance();
		List<String> dates=new ArrayList<String>();
		for(int i=0;i<12;i++)//月份
		{
			c.set(year,i,1); //设置year-month-day,Parameters:year.month.date
			int lastDay=c.getActualMaximum(c.DAY_OF_MONTH);
			
			for(int j=1;j<=lastDay;j++) //当月的Day
			{	
				String month;
				String day;
				if(i<9) month="-0"+(i+1);//月份加一
				   else month="-"+(i+1);
				
				if(j<10) day="-0"+j;
				    else day="-"+j;
				
				dates.add(year+month+day);
			}
		}
		return dates;
	}
}

运行结果
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
获取当前时间Java方法有三种常用方式: 1. 使用Java.util.Date类:可以使用Date类来获取当前时间,这是一种常用的方法。需要导入Java.util.Date类,速度一般。例如,可以使用以下代码获取当前时间: ```java Date date = new Date(); ``` 2. 使用System.currentTimeMillis()方法:通过System类中的currentTimeMillis()方法来获取当前时间,无需导入类,速度最快。这种方法的优势是不受时区的影响,但它返回的是时间戳格式。可以使用以下代码将时间戳转换为可理解的格式: ```java SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss z"); Date date = new Date(System.currentTimeMillis()); System.out.println(formatter.format(date)); ``` 转换后的时间格式如下:2023-05-13 at 11:34:12 CET 3. 使用Calendar类:Calendar类专门用于转换特定时刻和日历字段之间的日期和时间。可以使用以下代码获取当前时间的年、月、日、时、分和秒: ```java Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH); int date = calendar.get(Calendar.DATE); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); ``` Calendar类非常灵活,可以根据需要灵活地取得时间。 这些是获取当前时间的常用Java方法。具体使用哪种方法取决于你的业务需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐邂逅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值