calendar

//过时的方法:在方法上有一个删除线
//过时的方法:getXxx():获取日期中指定的xx部分
int year = date.getYear();
// System.out.println(year);//距1900年的总年数
// int month = date.getMonth();//0~11之间,0代表1月
// System.out.println(month);//

System.out.println(sec);
//测试此日期是否在指定日期之前
System.out.println(date.before(date2));
//测试此日期是否在指定日期之后
System.out.println(date.after(date2));

Calendar calendar = Calendar.getInstance();//创建实例
// System.out.println(calendar.toString());
//获取日期的指定部分:get(int field)返回给定日历字段的值
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);//0~11
int date = calendar.get(Calendar.DATE);
int hour = calendar.get(Calendar.HOUR);
int min = calendar.get(Calendar.MINUTE);
int sec = calendar.get(Calendar.SECOND);
System.out.println(year+"-"+(month+1)+"-"+date+" "+hour+":"+min+":"+sec);
//获取当前日期是一年中的第多少天
int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);//一年的第N天
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);//一月的第N天
//查看今天是星期几?
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);//一周的第N天(周日为第1天)
System.out.println(dayOfYear+"-----"+dayOfMonth+"----"+dayOfWeek);
//查看当月1号是一星期的第几天?
//1.查看2016-4-17是一星期的第几天?
calendar.set(Calendar.YEAR, 2016);
calendar.set(Calendar.MONTH, 3);//0~11
calendar.set(Calendar.DATE, 17);
// System.out.println(calendar);
int oldDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
System.out.println("2016-4-17是一星期的第"+oldDayOfWeek+"天");
//查看当前日期所在月份是1号是一周的第几天?
Calendar calendar2 = Calendar.getInstance();
calendar2.set(Calendar.DATE, 1);//2017-4-1
int dayOfWeek2 = calendar2.get(Calendar.DAY_OF_WEEK);
System.out.println(dayOfWeek2);

*java.util.Date: 类 Date 表示特定的日期和时间,精确到毫秒。
* 三个子类
* java.sql.Date
* java.sql.Time
* java.sql.Timestamp
* 常用构造函数:
* Date():获取当前日期
* Date(int year,int month,int date): 获取指定日期
* year - 减 1900 的年份。
month - 0-11 的月份。
date - 一月中 1-31 之间的某一天
常用的方法:
getYear():减 1900 的年份
getMonth():获取月份,范围0~11
getDate():获取日期
getHours():获取当前日期的小时数
getMinutes():获取当前日期的分钟数
getSeconds():获取当前日期的秒数:
toLocaleString():以与实现相关的方式创建此 Date 对象的字符串表示形式
before(Date when):测试此日期是否在指定日期之前。
after(Date when): 测试此日期是否在指定日期之后。
.....
格式化输入日期:DateFormat和SimpleDateFormat
java.text.DateFormat:抽象类
java.text.SimpleDateFormat:DateFormat的子类
常用的构造函数:
SimpleDateFormat(String pattern)
pattern:
yyyy:年份 MM:月分 dd:日期 HH:小时(24进制) hh(12进制):小时 mm:分钟 ss:秒
常用方法:
format(Date d):将指定的日期格式化字符串
parse(String s):将字符串转换(解析)为日期,会一个检查异常ParseException需要捕获

package cn.zzsxt2;

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

public class TestVisualCalendar {
public static void main(String[] args) {
System.out.println("请输入日期(2017-1-1)");
Scanner sc = new Scanner(System.in);
String dateStr=sc.nextLine();
//将日期字符串转为日期
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = (Date) dateFormat.parse(dateStr);
Calendar calendar =Calendar.getInstance();//获取Calendar对象(实例)
calendar.setTime(date);//将输入的日期转为Calendar对象
//获取当前日期部分
int day = calendar.get(Calendar.DATE);
//将当前日期设置成当月月份的第一天
calendar.set(Calendar.DATE,1);
//判断输入日期的月份的第一天是星期几
int dayOfWeek=calendar.get(Calendar.DAY_OF_WEEK);
//获取当前月份的最大天数
int maxDays =calendar.getActualMaximum(Calendar.DATE);
//打印日历头信息
System.out.println("日\t一\t二\t三\t四\t五\t六");
//打印1日之前的空格(关键知道1号是星期几)
for (int i = 1; i <dayOfWeek; i++) {
System.out.print(‘\t‘);
}
for (int i = 1; i < maxDays; i++) {

if(day==i-1){

System.out.print("*");

}

System.out.print(i+"\t");
int w=calendar.get(Calendar.DAY_OF_WEEK);
if(w==Calendar.SATURDAY){
System.out.println();//当前日期如果是周六的话需要换行
}
calendar.add(Calendar.DATE,1);
}
} catch (ParseException e) {

e.printStackTrace();
}

}
}

时间: 2024-10-12 19:45:41

calendar的相关文章

常用工具类(System,Runtime,Date,Calendar,Math)

一.Sy 一个java.lang包中的静态工具类. 三大字段: static PrintStream err "标准"错误输出流. static InputStream in "标准"输入流. static PrintStream out "标准"输出流. 其他常用方法: 描述系统信息: 获取系统属性信息: static Properties getProperties(): (Properties是Hashtable的子类,也就是Map 的子类

Java API —— Calendar类

1.Calendar类概述  Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR.MONTH.DAY_OF_MONTH.HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法. 2.成员方法      public static Calendar getInstance():初始化,返回子类对象 public int get(int field):返回给定日历字段的值 public void add(int field,int am

Java日期与时间的处理/Date,String,Calendar转换

public class Demo01 { //Java中Date类和Calendar简介 public static void main(String[] args) { long now=System.currentTimeMillis(); System.out.println("now= "+now); Date d1=new Date(now); System.out.println("d1= "+d1); Calendar c1=Calendar.get

java 日期操作,Date、Calendar 操作

java开发中避免不了日期相关操作,这里总结了一些常用方法~ 直接上码: package jse; import java.io.UnsupportedEncodingException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; /**  * 常用日期操

Date、Calendar、DateFormat、SimpleDateFormat、Timer、TimerTask类

类 Date 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值. 它也允许格式化和解析日期字符串.不过,这些函数的 API 不易于实现国际化.从 JDK 1.1 开始,应 该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串. Date 中的相应方法已废弃. Date() 分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒). Date(long date) 分配 D

关于获取某月某日最后一天时Calendar的cal.getActualMaximum(Calendar.DAY_OF_MONTH)的吐槽

例如: 在2017.03.29-31号 新建一个Calendar的単例 设置年:2017 设置月:2 int day = cal.getActualMaximum(Calendar.DAY_OF_MONTH) 得到日期为:3 例如: 在2017.03.01-28号 新建一个Calendar的単例 设置年:2017 设置月:2 int day = cal.getActualMaximum(Calendar.DAY_OF_MONTH) 得到日期为:28 原因: 1.Calendar类当你set的时候

Java:日期类Date与Calendar

怎么获取系统系统时间,通过java? Date now= new Date(); SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSSSSS"); String nowFormate= dateFormat.format(now); System.out.println(nowFormate); 输出结果 2017-02-16 20:56:12.000000278 如何获取当前系统是星期

Calendar 对象的使用实例

1.Calendar demo例子 JavaCalendar 类时间操作,示范代码. public class CalendarDemo { private static SimpleDateFormat date_format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); public static void main(String[] args) { //获取calendar实例; Calendar calendar = Calend

转——JAVA中calendar,date,string 的相互转换和详细用法

package cn.outofmemory.codes.Date; import java.util.Calendar; import java.util.Date; public class CalendarDemo { public static void main(String[] args) { Calendar calendar=Calendar.getInstance(); calendar.setTime(new Date()); System.out.println("现在时间

java.util.Calendar简介

java.util.Calendar简介 一般写为:import java.util.Calendar;在开头 然后在中间写上, Calendar cal = Calendar.getInstance(); int year=cal.get(Calendar.YEAR); int month=cal.get(Calendar.MONTH);就可以了: Calendar是一个抽象类,我们无法直接实例化它,它有一个具体子类实体类java.util.GregorianCalendar,这个类实现的就是