可视化日历

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可视化日历相关的知识,希望对你有一定的参考价值。

package chengbaoDemo;


import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
/**
 * SimpleDateFormat
 *它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期) 
 *
 *可以化日历
 * 
 */
public class Test02 {
    public static void main(String[] args) {
        
        for (int i = 1; i <= 12; i++) {
            printOneMonth(2016, i);
            System.out.println("\n");
        }
         
    }
    /**
     *打印每个月的样式表<br>
     *@param   int year  
     *@param   int month
     *@param   int month 
     *@param   boolean isSearch <br>
     *        true  将要查找的天标记
     *        false 不标记
     */
    public static void printOneMonth(int year, int month, int day, boolean isSearch) {
         System.out.println(month + "月");
        //将输入数字,字符串格式化
        String dStr = String.format("%4d%02d%02d", year, month, day);
        //(1)格式化   DateFormat
        DateFormat df = new SimpleDateFormat("yyyyMMdd");
        Date d = null;
        try {
            //将字符串解析为时间
            d = df.parse(dStr);
        } catch (ParseException e) {

            e.printStackTrace();
        }
        
        
        //(2)日期字段的含义Calendar 
        Calendar c = new GregorianCalendar();
        c.setTime(d);
        //获取所要查找的那一天
        int srcDay = -1;
        if (isSearch)
            srcDay = c.get(Calendar.DAY_OF_MONTH);
         
        //本月总天数
        int days = c.getActualMaximum(Calendar.DAY_OF_MONTH);
        
        //设置日期为1号
        c.set(Calendar.DATE, 1);
        //获取1号是周几
        int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
        //打印表头
        System.out.println("日\t一\t二\t三\t四\t五\t六");
        //打印每月第一天前的空格
        for (int i = 1; i < dayOfWeek; i++) {
            System.out.print("\t");
        }
        //打印一个月的情况
        for (int i = 1; i <= days; i++) {
            //标注所要查找的那天
            if (srcDay == i) {
                System.out.print("#");
            }
            dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
            System.out.print(i + "\t");
            //每到周六换行
            if (dayOfWeek == 7) {
                System.out.println();
            }
            c.add(Calendar.DATE, 1);
            
        }
        
         
 
    }
    
    
    /**
     *重载<br>
     *打印每个月的样式表<br>
     *@param   int year  
     *@param   int month
     *@param   int month 
     *@param   boolean isSearch <br>
     *        false 不标记
     */
    public static void printOneMonth(int year, int month) {
        printOneMonth(year, month, 1, false);
    }
    

}

 

以上是关于可视化日历的主要内容,如果未能解决你的问题,请参考以下文章

可视化日历

R语言ggplot2可视化:可视化时间序列日历热力图日历热力图可以很好地描绘极端值和节日数据特性(Calendar Heatmap)例如日历上看到股票价格这样的指标的变化,尤其是高点和低点数据

可视化日历

日历返回错误的月份

Python使用matplotlib可视化时间序列日历热力图日历热力图可以很好地描绘极端值和节日数据特性(Calendar Heatmap)

高琪java300集可视化日历