文档章节

可视化日历【Java,有详细的注释】

非著名程序员Bla
 非著名程序员Bla
发布于 2016/05/18 18:04
字数 462
阅读 23
收藏 0
package cn.bla.test;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
/** * VisualCalender ===可视化日历=== * @author 杨润康 * @category java * @since 2015-5-31 * @version 1 */
public class VisualCalender {
    public static void main(String[] args) throws Exception {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入日期:<格式:2015-5-5>");
        String time=input.next();//用户输入的字符串
        //具体的处理判断
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date date = dateFormat.parse(time);//将字符串解析成日期类型

        //日历类上场
        Calendar calendar = new GregorianCalendar();
        calendar.setTime(date);//将日期放进日历里面去,然后对日历进行操作,实际上就是对日期进行操作
        //因为日历都是从一开始的,所以先将用户输入的日期的日部分变为1
        calendar.set(Calendar.DATE, 1);
        //得到当前月份的一号,是在一周之内的周几 (得到的数要-1 ,因为老外的是从周日开始一周的生活的,所以比我们早了一天)
        int actualDayInAWeek=calendar.get(Calendar.DAY_OF_WEEK)-1;
        //得到当前月份有多少天DATE || DAY_OF_MONTH
        int actualDaysInMonth=calendar.getMaximum(Calendar.DAY_OF_MONTH);
        //现在处理在具体的某一号的后面做个标记
            //先前为了处理月份的一号是在一周的星期几时,曾把它设为1,现在把它恢复过来,为下面的标记做准备
            String getOldDate=dateFormat.format(date);
            Date oldDate = dateFormat.parse(getOldDate);
            calendar.setTime(oldDate);
            //取月份中的具体的某一号
            int day=calendar.get(Calendar.DATE);
        //程序的可视化部分
        System.out.println("\t\t===可视化日历===");
        System.out.println("日\t一\t二\t三\t四\t五\t六");
        for(int i=1;i<=actualDaysInMonth;i++){
            //让1号在具体的周几的位置,然后在这个位置之前是不打印任何字符的,只打印空格
            if(i<=actualDayInAWeek){
                System.out.print("\t");
                continue;
            }
            if((i-actualDayInAWeek)==day){//在具体的某一号的后面做#个标记
                System.out.print((i-actualDayInAWeek)+"#\t");
                continue;
            }
            System.out.print((i-actualDayInAWeek)+"\t");//(i-actualDayInAWeek)在周X的位置,是从一开始打印的

            if(i%7==0){
                System.out.println();
            }
        }
    }
}

本文转载自:http://blog.csdn.net/yangrunkangbla/article/details/46290851

共有 人打赏支持
非著名程序员Bla
粉丝 15
博文 75
码字总数 0
作品 0
合肥
后端工程师
私信 提问
Eclipse Code Template 设置

打开Code Template 设置 从菜单栏依次打开 Window --> Preferences --> Java --> Code Style --> Code Templates Comments代表注释模板,Code代表代码模板,其中每一个子菜单代表子项的模板。......

admin_qing
07/03
0
0
JComponentPack3.0正式发布

奇新Java控件---Java控件提供商和Java RIA, Web, J2ME解决方案开发商 我们为您提供了一系列方便易用的Java控件,帮助开发人员提高工作效率,加快开发进程。 最新动态: JComponentPack3.0正式...

fralepg
2009/04/11
0
0
java8中的时间处理0 - api介绍

Java 8 Date Time API是我们java开发一直寻找的时间处理工具。java从一开始设计的时间类就让人头疼,好在现在终于有了java8。 为什么我们需要这套API 只要是有这么几个理由: Java的日期和时...

davelet
02/22
0
0
关于fullcalendar里显示json格式的events(java)

cyper的java代碼(spring mvc controller): @RequestMapping(value = "calendarEvents")@ResponseBodypublic String calendarEvents(){List<LecturerAgendaVo> agendas = lecturerAgendaServ......

cyper
2013/10/08
0
2
Java对日期Date类进行加减运算,年份加减,月份加减

Date d=new Date(); SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); System.out.println("今天的日期:"+df.format(d)); System.out.println("两天前的日期:" + df.format(new D......

mtfan
2014/12/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

防止Tweak

什么是tweak? 英文意思为捏, 拧,扭,稍稍调整(机器、系统等)。 依据维基百科的定义,tweak指的是对电子系统进行轻微调整来增强其功能的工具;在ios中tweak特指那些能够增强其它可执行程...

HeroHY
19分钟前
0
0
linux中常用标识---不定期更新

LINUX常用标识符: 1 & && | || &: 表示进程在后台运行 例如 redis-server & 不是所有后台运行都是& 比如es ./bin/elasticsearch -d es后台运行&&: 第一个命令执行成功后 才执行后面的命令...

geek土拨鼠
57分钟前
1
0
Mybatis 中$与#的区别,预防SQL注入

一直没注意Mybatis 中$与#的区别,当然也是更习惯使用#,没想到避免了SQL注入,但是由于要处理项目中安全渗透的问题,不可避免的又遇到了这个问题,特此记录一下。 首先是共同点: 在mybatis...

大雁南飞了
今天
0
0
Spring Clould负载均衡重要组件:Ribbon中重要类的用法

Ribbon是Spring Cloud Netflix全家桶中负责负载均衡的组件,它是一组类库的集合。通过Ribbon,程序员能在不涉及到具体实现细节的基础上“透明”地用到负载均衡,而不必在项目里过多地编写实现...

Ala6
今天
0
0
让 linux 删除能够进入回收站

可以参考这个贴子 https://blog.csdn.net/F8qG7f9YD02Pe/article/details/79543316 从那个git地址 把saferm.sh下载下来 把saferm.sh复制到 /usr/bin 目录下 在用~/目下 的.bashrc 下加一句这...

shzwork
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部