java日历

//日历源代码
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;

public class Calendar1 {

    public  void show(String temp){
        Date d = new Date();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         String dateNowStr = sdf.format(d);
         if(temp==null) temp=dateNowStr;
         calen(temp);
    }
    public static  void calen(String temp) {

         DateFormat format=new SimpleDateFormat("yyyy-MM-dd");
            try {
                Date date=format.parse(temp);

                Calendar calendar=new GregorianCalendar();
                calendar.setTime(date);
                int day=calendar.get(calendar.DATE)-1;
                calendar.set(calendar.DATE, 1);
                int oneday=calendar.get(calendar.DAY_OF_WEEK);

                int maxDay=calendar.getActualMaximum(calendar.DATE);
                System.out.println(temp);

                System.out.println("日\t一\t二\t三\t四\t五\t六");

                for(int j=0;j<oneday-1;j++)
                    System.out.print(" \t");
                for (int i = 0; i < maxDay; i++) {
                    if(i==day){
                        System.out.print("*");
                    }
                    System.out.print(i+1+"\t");

                    int w=calendar.get(calendar.DAY_OF_WEEK);
                    if(w==calendar.SATURDAY)System.out.println();
                    calendar.add(calendar.DATE, 1);
                }

            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

    }

    public static void main(String[] args) {
        Calendar1 test1=new Calendar1();
        test1.show(null);
        while(true){
        System.out.println("\n请输入日期:(格式)XXXX-XX-XX");
        Scanner scanner=new Scanner(System.in);
        String inputstr= scanner.nextLine();
        System.out.println(inputstr);
        if(inputstr.matches("^[0-9]{4}-(((0[13578]|(10|12))-(0[1-9]|[1-2][0-9]|3[0-1]))|(02-(0[1-9]|[1-2][0-9]))|((0[469]|11)-(0[1-9]|[1-2][0-9]|30)))$"))
        test1.show(inputstr);
        else System.out.println("输入错误,请重新输入");}

    }
}
时间: 2024-10-12 02:09:07

java日历的相关文章

java日历类Calendar简单使用

import java.util.Calendar; import java.util.TimeZone; public class Test1 { public static void main(String[] args) { //指定东八区,即北京时间 Calendar cc = Calendar.getInstance(TimeZone.getTimeZone("GMT+8")); int year = cc.get(Calendar.YEAR); //月份是从0开始计数的,所

java日历显示年份、月份

import java.util.Scanner; class CalendarMain{     //主函数入口    public static void main(String[] args)     {        System.out.println("*****请输入日期(格式如: 2011-01)*****");        Scanner sc = new Scanner(System.in);        String ym = sc.next();      

java 日历代码实现

System.out.println("请输入日期(按照格式:2030-3-10):"); //在控制台输入 //String str="2016-9-26"; Scanner scanner=new Scanner(System.in); String str=scanner.nextLine(); //将字符串转为日期,记住 abstract class DateFormat,所以要 new 子类 DateFormat dateformat=new Simple

面向过程的java日历

1 import java.util.Scanner; 2 3 public class MyCalendar { 4 /* 5 * 从控制台输入 × × × ×年× ×月,从控制台输出该月日历 (1900年1月1日是星期一) 6 * 7 */ 8 9 public static void main(String[] args) { 10 Scanner sc = new Scanner(System.in); 11 12 // 获得输入的那一年的天数 13 // public void isY

Java日历模型:输入一个日期,控制台显示

1 package com.zhen.calendar; 2 3 import java.text.DateFormat; 4 import java.text.SimpleDateFormat; 5 import java.util.Calendar; 6 import java.util.Date; 7 import java.util.GregorianCalendar; 8 import java.util.Scanner; 9 10 /* 11 * 输入一个日期,控制台显示 12 *

Android自定义组件之日历控件-精美日历实现(内容、样式可扩展)

需求 我们知道,Android系统本身有自带的日历控件,网络上也有很多开源的日历控件资源,但是这些日历控件往往样式较单一,API较多,不易于在实际项目中扩展并实现出符合具体样式风格的,内容可定制的效果.本文通过自定义日历控件,实现了在内容和样式上可高度扩展的精美日历demo,有需要的Android应用开发人员可迅速移植并按需扩展实现. 在某个应用中,需要查询用户的历史考勤记录,根据实际考勤数据在日历中标记出不同的状态(如正常出勤.请假.迟到等),并在页面中显示相应的说明文字. 效果 实现的效果如

JAVA上百实例源码以及开源项目

简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级.中级.高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情.执着,对IT的憧憬.向往!此时此景,笔者只专注Android.Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能.编辑音乐软件的朋友,这款实例会对你有所帮助.Calendar万年历 1个目标文件EJ

java自学之路-day11

JAVA11 正则表达式 l  概念 是一个字符串 满足一定的规则 qq号码检查 [1-9] [0-9] [4,9] 检查某些字符是否合规 例如 用户名是否合规 一个[]代表一个或者多个字符 为了解决String处理一些问题的太复杂 l  匹配规则 字符x a)         需要匹配的内容是a 字符 \\ a)         代表 \ b)         是转义字符 \t 制表符 \n 换行符 新增一空行 \r 回车符 光标到下一行的首部 [abc] 代表一个字符范围 [^abc] 代表

安卓时间戳(一)

java日历类Calendar简单使用 博客分类: java Java代码   import java.util.Calendar; import java.util.TimeZone; public class Test1 { public static void main(String[] args) { //指定东八区,即北京时间 Calendar cc = Calendar.getInstance(TimeZone.getTimeZone("GMT+8")); int year