完整的java输入日期显示j日历源代码

合集下载

Java万年历源代码,可显示公历、农历、系统时间、国际时间

Java万年历源代码,可显示公历、农历、系统时间、国际时间

import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.table.DefaultTableModel;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import java.util.Locale;import java.util.TimeZone;public class wannianli extends JFrame implements ActionListener, MouseListener {private Calendar cld = Calendar.getInstance();//获取一个Calendar类的实例对象private String[] astr = { "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日" };private DefaultTableModel dtm = new DefaultTableModel(null, astr);private JTable table = new JTable(dtm);private JScrollPane sp = new JScrollPane(table);private JButton bLastYear = new JButton("上一年");private JButton bNextYear = new JButton("下一年");private JButton bLastMonth = new JButton("上月");private JButton bNextMonth = new JButton("下月");private JPanel p1 = new JPanel(); // 设立八个中间容器,装入布局控制日期的按钮模块private JPanel p2 = new JPanel(new GridLayout(3,2));//网格布局private JPanel p3 = new JPanel(new BorderLayout());//边界布局private JPanel p4 = new JPanel(new GridLayout(2,1));private JPanel p5 = new JPanel(new BorderLayout());private JPanel p6 = new JPanel(new GridLayout(2,2));private JPanel p7 = new JPanel(new GridLayout(2,1));private JPanel p8 = new JPanel(new BorderLayout());private JComboBox timeBox = newJComboBox(TimeZone.getAvailableIDs());//对所有支持时区进行迭代,获取所有的id;private JTextField jtfYear = new JTextField(5);// jtfYeaar年份显示输入框private JTextField jtfMonth = new JTextField(2);// jtfMouth月份显示输入框private JTextField timeField=new JTextField();//各城市时间显示框private static JTextArea jta = new JTextArea(10,5);//农历显示区private JScrollPane jsp = new JScrollPane(jta);private JLabel l = new JLabel("花江小精灵:亲!你可以直接输入年月查询.");private JLabel lt = new JLabel();private JLabel ld = new JLabel();private JLabel lu = new JLabel("农历和节气");private JLabel null1=new JLabel();private int lastTime;//private String localTime = null;private String s = null;private SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy年MM月dd 日 hh时mm分ss秒");public wannianli() {super("花江日历过去仅留追忆,未来刚生憧憬,唯有坚守本心,把握今天 ZYT 詹永堂 ");// 框架命名this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 窗口关闭函数this.getContentPane().setLayout(new BorderLayout(9, 10));jta.setLineWrap(true);// 长度大于分配长度时候则换行jta.setFont(new Font("黑体", Font.BOLD, 16));table.setBackground(Color.white);table.setGridColor(Color.pink);// 星期之间的网格线是灰色的table.setBackground(Color.white);table.setColumnSelectionAllowed(true);// 将table中的列设置为可选择的table.setSelectionBackground(Color.pink);// 当选定某一天时背景颜色为黑色table.setSelectionForeground(Color.GREEN);table.setBackground(new Color(184,207, 229));// 日期显示表格为浅蓝色table.setFont(new Font("黑体", Font.BOLD, 24));// 日期数字字体格式table.setRowHeight(26);// 表格的高度table.addMouseListener(this); // 鼠标监听器、lu.setFont(new Font("黑体", Font.BOLD, 22));//农历标签格氏jtfYear.addActionListener(this);// 可输入年份的文本框// 为各个按钮添加监听函数bLastYear.addActionListener(this);bNextYear.addActionListener(this);bLastMonth.addActionListener(this);bNextMonth.addActionListener(this);timeBox.addItemListener(new TimeSelectedChangedListener());// 将按钮添加到Jpane上p1.add(bLastYear);p1.add(jtfYear);// 年份输入文本框p1.add(bNextYear);p1.add(bLastMonth);p1.add(jtfMonth);p1.add(bNextMonth);p3.add(jsp, BorderLayout.SOUTH);p3.add(lu,BorderLayout.CENTER);p3.add(ld, BorderLayout.NORTH);p4.add(lt);p4.add(l);p5.add(p4, BorderLayout.SOUTH);p5.add(sp, BorderLayout.CENTER);p5.add(p1, BorderLayout.NORTH);p6.add(timeBox);p6.add(null1);p6.add(timeField);p8.add(p2,BorderLayout.CENTER);p8.add(p7,BorderLayout.SOUTH);this.getContentPane().add(p3, BorderLayout.EAST);this.getContentPane().add(p5, BorderLayout.CENTER);this.getContentPane().add(p6,BorderLayout.SOUTH);this.getContentPane().add(p8,BorderLayout.WEST);String[] strDate = DateFormat.getDateInstance().format(new Date()) .split("-");// 获取日期cld.set(Integer.parseInt(strDate[0]), Integer.parseInt(strDate[1]) - 1,0);showCalendar(Integer.parseInt(strDate[0]),Integer.parseInt(strDate[1]), cld);jtfMonth.setEditable(false);// 设置月份文本框为不可编辑jtfYear.setText(strDate[0]);jtfMonth.setText(strDate[1]);this.showTextArea(strDate[2]);ld.setFont(new Font("新宋体", Font.BOLD, 24));new Timer(lt).start();new TimeThread().start();this.setBounds(200, 200, 700, 350);this.setResizable(false);this.setVisible(true);}public void showCalendar(int localYear, int localMonth, Calendar cld) {int Days = getDaysOfMonth(localYear, localMonth) +cld.get(Calendar.DAY_OF_WEEK) -2;Object [] ai = new Object[7];lastTime = 0;for (int i = cld.get(Calendar.DAY_OF_WEEK)-1; i <= Days; i++) {ai[i%7] =String.valueOf(i-(cld.get(Calendar.DAY_OF_WEEK)-2));if (i%7 == 6){dtm.addRow(ai);ai = new Object[7];lastTime++;}}dtm.addRow(ai);}public int getDaysOfMonth(int Year, int Month) {//计算各月的天数if(Month==1||Month==3||Month==5||Month==7||Month==8||Month==10||Mont h==12){return 31;}if(Month==4||Month==6||Month==9||Month==11){return 30;}if(Year%4==0&&Year%100!=0||Year%400==0)//闰年{return 29;}else {return 28;}}public void actionPerformed(ActionEvent e)//从界面上获取年月数据{if(e.getSource() == jtfYear || e.getSource() == bLastYear || e.getSource() == bNextYear ||e.getSource() == bLastMonth || e.getSource() == bNextMonth){int m, y;try//控制输入的年份正确,异常控制{if (jtfYear.getText().length() != 4){throw new NumberFormatException();}y = Integer.parseInt(jtfYear.getText());m = Integer.parseInt(jtfMonth.getText());}catch (NumberFormatException ex){JOptionPane.showMessageDialog(this, "请输入4位0-9的数字!", "年份有误", JOptionPane.ERROR_MESSAGE);return;}ld.setText("没有选择日期");for (int i = 0; i < lastTime+1; i++){ dtm.removeRow(0);}if(e.getSource() ==bLastYear){ jtfYear.setText(String.valueOf(--y)); }if(e.getSource() ==bNextYear){jtfYear.setText(String.valueOf(++y)); }if(e.getSource() == bLastMonth){if(m == 1){jtfYear.setText(String.valueOf(--y));m = 12;jtfMonth.setText(String.valueOf(m));}else{jtfMonth.setText(String.valueOf(--m));}}if(e.getSource() == bNextMonth){if(m == 12){jtfYear.setText(String.valueOf(++y));m = 1;jtfMonth.setText(String.valueOf(m));}else{jtfMonth.setText(String.valueOf(++m));}}cld.set(y, m-1, 0);showCalendar(y, m, cld);}}public void mouseClicked(MouseEvent e){jta.setText(null);int r = table.getSelectedRow();int c = table.getSelectedColumn();if (table.getValueAt(r,c) == null){ld.setText("没有选择日期");}else{this.showTextArea(table.getValueAt(r,c));}}private void showTextArea(Object selected){ld.setText(jtfYear.getText()+"年"+jtfMonth.getText()+"月"+selected+"日");}public static void main(String[] args){JFrame.setDefaultLookAndFeelDecorated(true);JDialog.setDefaultLookAndFeelDecorated(true);new wannianli();jta.setText(today());}private void updateTimeText(String timeZoneId) {if(timeZoneId != null){TimeZone timeZone = TimeZone.getTimeZone(timeZoneId);dateFormat.setTimeZone(timeZone);Calendar calendar = Calendar.getInstance();calendar.setTimeZone(timeZone);timeField.setText(dateFormat.format(calendar.getTime()));}else{timeField.setText(null);}}private class TimeSelectedChangedListener implements ItemListener { public void itemStateChanged(ItemEvent e) {if (e.getStateChange()==ItemEvent.SELECTED) {if (e.getItem() instanceof String) {s = e.getItem().toString();}}}}private class TimeThread extends Thread{public void run(){while(true){updateTimeText(s);try{Thread.sleep(100);}catch(InterruptedException e){e.printStackTrace();}}}}class Timer extends Thread //显示系统时间{private JLabel lt;private SimpleDateFormat fy = new SimpleDateFormat(" Gyyyy.MM.dd HH:mm:ss ");public Timer(JLabel lt){this.lt=lt;}public void run(){while(true){try{lt.setText(fy.format(new Date()));this.sleep(500);}catch(InterruptedException ex){ex.printStackTrace();}}}}final private static long[] lunarInfo= new long[] { 0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554,0x056a0, 0x09ad0, 0x055d2, 0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0,0x14977, 0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970, 0x06566,0x0d4a0, 0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950, 0x0d4a0, 0x1d8a6, 0x0b550,0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557, 0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5d0,0x14573, 0x052d0, 0x0a9a8, 0x0e950, 0x06aa0, 0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263,0x0d950, 0x05b57, 0x056a0, 0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b5a0,0x195a6, 0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570, 0x04af5,0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x055c0, 0x0ab60, 0x096d5, 0x092e0, 0x0c960, 0x0d954, 0x0d4a0,0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5, 0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9,0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930, 0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0,0x0d260, 0x0ea65, 0x0d530, 0x05aa0, 0x076a3, 0x096d0, 0x04bd7, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520,0x0dd45, 0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0 };final private static int[] year20 = new int[] { 1, 4, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1 };final private static int[] year19 = new int[] { 0, 3, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0 };final private static int[] year2000 = new int[] { 0, 3, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1 };public final static String[] nStr1 = new String[] { "", "正", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一","十二" };private final static String[] Gan = new String[] { "甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸" };private final static String[] Zhi = new String[] { "子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥" };private final static String[] Animals = new String[] { "鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪" };// 传回农历 y年的总天数final private static int lYearDays(int y) {int i, sum = 348;for (i = 0x8000; i > 0x8; i >>= 1) {if ((lunarInfo[y - 1900] & i) != 0)sum += 1;}return (sum + leapDays(y));}// 传回农历 y年闰月的天数final private static int leapDays(int y) {if (leapMonth(y) != 0) {if ((lunarInfo[y - 1900] & 0x10000) != 0)return 30;elsereturn 29;} elsereturn 0;}// 传回农历 y年闰哪个月 1-12 , 没闰传回 0final private static int leapMonth(int y) {return (int) (lunarInfo[y - 1900] & 0xf);}//传回农历 y年m月的总天数final private static int monthDays(int y, int m) {if ((lunarInfo[y - 1900] & (0x10000 >> m)) == 0)return 29;elsereturn 30;}// 传回农历 y年的生肖final public static String AnimalsYear(int y) {return Animals[(y - 4) % 12];}//传入月日的offset 传回干支,0=甲子final private static String cyclicalm(int num) {return (Gan[num % 10] + Zhi[num % 12]);}// 传入 offset 传回干支, 0=甲子final public static String cyclical(int y) {int num = y - 1900 + 36;return (cyclicalm(num));}// 传出农历.year0 .month1 .day2 .yearCyl3 .monCyl4 .dayCyl5 .isLeap6final private long[] Lunar(int y, int m) {long[] nongDate = new long[7];int i = 0, temp = 0, leap = 0;Date baseDate = new GregorianCalendar(1900 + 1900, 1,31).getTime();Date objDate = new GregorianCalendar(y + 1900, m, 1).getTime();long offset = (objDate.getTime() - baseDate.getTime()) / 86400000L;if (y < 2000)offset += year19[m - 1];if (y > 2000)offset += year20[m - 1];if (y == 2000)offset += year2000[m - 1];nongDate[5] = offset + 40;nongDate[4] = 14;for (i = 1900; i < 2050 && offset > 0; i++) {temp = lYearDays(i);offset -= temp;nongDate[4] += 12;}if (offset < 0) {offset += temp;i--;nongDate[4] -= 12;}nongDate[0] = i;nongDate[3] = i - 1864;leap = leapMonth(i); // 闰哪个月nongDate[6] = 0;for (i = 1; i < 13 && offset > 0; i++) {// 闰月if (leap > 0 && i == (leap + 1) && nongDate[6] == 0) { --i;nongDate[6] = 1;temp = leapDays((int) nongDate[0]);} else {temp = monthDays((int) nongDate[0], i);}// 解除闰月if (nongDate[6] == 1 && i == (leap + 1))nongDate[6] = 0;offset -= temp;if (nongDate[6] == 0)nongDate[4]++;}if (offset == 0 && leap > 0 && i == leap + 1) {if (nongDate[6] == 1) {nongDate[6] = 0;} else {nongDate[6] = 1;--i;--nongDate[4];}}if (offset < 0) {offset += temp;--i;--nongDate[4];}nongDate[1] = i;nongDate[2] = offset + 1;return nongDate;}// 传出y年m月d日对应的农历.year0 .month1 .day2 .yearCyl3 .monCyl4 .dayCyl5 .isLeap6final public static long[] calElement(int y, int m, int d) {long[] nongDate = new long[7];int i = 0, temp = 0, leap = 0;Date baseDate = new GregorianCalendar(0 + 1900, 0, 31).getTime();Date objDate = new GregorianCalendar(y, m - 1, d).getTime();long offset = (objDate.getTime() - baseDate.getTime()) / 86400000L;nongDate[5] = offset + 40;nongDate[4] = 14;for (i = 1900; i < 2050 && offset > 0; i++) {temp = lYearDays(i);offset -= temp;nongDate[4] += 12;}if (offset < 0) {offset += temp;i--;nongDate[4] -= 12;}nongDate[0] = i;nongDate[3] = i - 1864;leap = leapMonth(i); // 闰哪个月nongDate[6] = 0;for (i = 1; i < 13 && offset > 0; i++) {// 闰月if (leap > 0 && i == (leap + 1) && nongDate[6] == 0) { --i;nongDate[6] = 1;temp = leapDays((int) nongDate[0]);} else {temp = monthDays((int) nongDate[0], i);}// 解除闰月if (nongDate[6] == 1 && i == (leap + 1))nongDate[6] = 0;offset -= temp;if (nongDate[6] == 0)nongDate[4]++;}if (offset == 0 && leap > 0 && i == leap + 1) { if (nongDate[6] == 1) {nongDate[6] = 0;} else {nongDate[6] = 1;--i;--nongDate[4];}}if (offset < 0) {offset += temp;--i;--nongDate[4];}nongDate[1] = i;nongDate[2] = offset + 1;return nongDate;}public final static String getChinaDate(int day) { String a = "";if (day == 10)return"初十";if (day == 20)return"二十";if (day == 30)return"三十";int two = (int) ((day) / 10);if (two == 0)a = "初";if (two == 1)a = "十";if (two == 2)a = "廿";if (two == 3)a = "三";int one = (int) (day % 10);switch (one) {case 1:a += "一";break;case 2:a += "二";break;case 3:a += "三";break;case 4:a += "四";break;case 5:a += "五";break;case 6:a += "六";break;case 7:a += "七";break;case 8:a += "八";break;case 9:a += "九";break;}return a;}public static String today() {Calendar today = Calendar.getInstance(Locale.SIMPLIFIED_CHINESE);int year = today.get(Calendar.YEAR);int month = today.get(Calendar.MONTH) + 1;int date = today.get(Calendar.DATE);long[] l = calElement(year, month, date);StringBuffer sToday = new StringBuffer();try {sToday.append(sdf.format(today.getTime()));sToday.append(" \n");sToday.append(" \n");sToday.append(" \n");sToday.append(" 农历");sToday.append(cyclical(year));sToday.append('(');sToday.append(AnimalsYear(year));sToday.append(")年");sToday.append(" \n");sToday.append(" ");sToday.append(nStr1[(int) l[1]]);sToday.append("月");sToday.append(getChinaDate((int) (l[2])));return sToday.toString();} finally {sToday = null;}}private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy 年M月d日 EEEEE");public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}public void mousePressed(MouseEvent e) {}public void mouseReleased(MouseEvent e) { }}。

java获取当前时间和前一天日期(实现代码)

java获取当前时间和前一天日期(实现代码)
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //设置时间格式 String defaultStartDate = sdf.format(dBefore); //格式化前一天 String defaultEndDate = sdf.format(dNow); //格式化当前时间
这篇文章主要给大家介绍了关于java中optional使用的相关资料文中通过示例代码介绍的非常详细对大家的学习或者工作具有一定的参考学习价值需要的朋友们下面随着小编来一起学习学习吧
java获 取 当 前 时 间 和 前 一 天 日 期 ( 实 现 如下:
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; Date dNow = new Date(); //当前时间 Date dBefore = new Date(); Calendar calendar = Calendar.getInstance(); //得到日历 calendar.setTime(dNow);//把当前时间赋给日历 calendar.add(Calendar.DAY_OF_MONTH, -1); //设置为前一天 dBefore = calendar.getTime(); //得到前一天的时间
System.out.println("前一天的时间是:" + defaultStartDate); System.out.println("生成的时间是:" + defaultEndDate);

JavaSwing日历控件

JavaSwing日历控件

Java swing日历控件,界面精美,使用方便,能用于个人作品首先,声明一点,这个控件是我从一套据说价值九百多美元的swing类包中提取出来,并加以修改的,所以:
一,你不能把该控件用于任何商业产品中。

二,该控件没有源代码。

(DatePicker.java除外,这个是我加进去的)
三,该控件可以用于你的个人作品中。

截图如下:
使用之前请把datepicker.jar导入classpath中
使用方法如下:
DatePicker datepick = new DatePicker();
或者
datepick = new DatePicker(date,DefaultFormat,font,dimension);//自定义参数值
//各参数含义如下
//参数1 设置该控件的初始值(可选)
//参数2 设置日期的格式(可选)
//参数3 设置该控件的字体(可选)
//参数3 设置该控件的大小(可选)
//该控件继承自JComponent ,它继承了Jcomponent的属性
datepick.setTimePanleVisible(true);//设置时钟面板可见
atepick.setHightlightdays(hilightDays, Color.red);//设置一个月份中需要高亮显示的日子
datepick.setDisableddays(disabledDays);//设置一个月份中不需要的日子,呈灰色显示。

JAVA处理日期时间常用方法

JAVA处理日期时间常用方法

JA V A处理日期时间常用方法:java.util.CalendarCalendar 类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期提供了一些方法。

瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间1970 年 1 月1 日的00:00:00。

000,格里高利历的偏移量.例:Calendar cal = Calendar。

getInstance(;//使用默认时区和语言环境获得一个日历。

cal。

add(Calendar.DAY_OF_MONTH, -1;//取当前日期的前一天。

cal。

add(Calendar。

DAY_OF_MONTH, +1;//取当前日期的后一天。

//通过格式化输出日期java.text.SimpleDateFormat format = new java.text。

SimpleDateFormat(”yyyy-MM—dd";System。

out.println("Today is:”+format。

format(Calendar.getInstance(.getTime (;System。

out.println("yesterday is:"+format.format(cal.getTime(;得到2007—12-25日期: Calendar calendar = new GregorianCalendar(2007,11, 25,0,0,0;Date date = calendar.getTime(;System。

out.println("2007 Christmasis:”+format.format(date;//java月份是从0—11,月份设置时要减1。

//GregorianCalendar构造方法参数依次为:年,月—1,日,时,分,秒。

java 程序 输入年月 输出该月日历

java 程序 输入年月 输出该月日历

public class Date {public Date(int year, int month){int cols = 1;int days = 1;for(int i=1; i<year; i++){if(((i%100!=0) && (i%4==0)) || (i%400==0))days += 366;elsedays += 365;}for(int j=1; j<month; j++){switch(j){case 1: case 3: case 5: case 7:case 8: case 10: case 12:days += 31;break;case 2:if(((year%100!=0) && (year%4==0)) || (year%400==0))days += 29;elsedays += 28;break;default:days += 30;break;}}cols = days % 7;printDate(year, month, cols);}public void printDate(int year, int month, int cols){int days = 0;int i = year;int j = month;System.out.println(i+"年");System.out.println("\t"+i+"年 "+j+"月" +"cols="+cols);switch(j){case 1: case 3: case 5: case 7:case 8: case 10: case 12:days = 31;break;case 2:if(((i%100!=0) && (i%4==0)) || (i%400==0))days = 29;elsedays = 28;break;default:days = 30;break;}System.out.println("\t日" + "\t一" + "\t二" + "\t三" + "\t四" + "\t五" + "\t六");for(int m=1; m<=cols; m++)System.out.print("\t");for(int k=1; k<=days; k++){System.out.print("\t"+k);cols ++;if(cols>=7){System.out.println("");cols = 0;}}System.out.println("");}public static void main(String [] args){Date d1 = new Date(2012, 5); //输出2010年5月日历}}。

JavaDate实现加一天,年月日类推往后+1,日期+1,月份+1,年份+1

JavaDate实现加一天,年月日类推往后+1,日期+1,月份+1,年份+1
String类型 2018-01-23 String类型转Date类型 Tue Jan 23 00:00:00 CST 2018 Date结束日期: 2018-01-23 Dat2018-01-24
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date sDate = sdf.parse(endDate); System.out.println("String类型转Date类型 "+sDate); //要实现日期+1 需要String转成Date类型
Format f = new SimpleDateFormat("yyyy-MM-dd"); System.out.println("Date结束日期:" + f.format(sDate));
Calendar c = Calendar.getInstance(); c.setTime(sDate); c.add(Calendar.DAY_OF_MONTH, 1);
//利用Calendar 实现 Date日期+1天
sDate = c.getTime(); System.out.println("Date结束日期+1 " +f.format(sDate)); //打印Date日期,显示成功+1天
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); endDate = sdf1.format(sDate); System.out.println("Date类型转String类型 "+endDate); //将日期转成String类型 方便进入数据库比较

java日历小程序

java日历小程序

java日历小程序简介:Java日历小程序是一个基于Java语言开发的工具,用于显示和管理日期和时间。

它提供了一种简单而直观的方式来查看、创建和编辑日历事件,并提供了一些额外的功能,如提醒、重复事件和时间段的计算等。

本文将详细介绍Java日历小程序的功能、使用方法和设计原理。

功能:1. 显示日历:Java日历小程序可以显示当前月份的日历,并以日、周或月的形式展示。

用户可以通过界面上的上下翻页按钮切换月份,方便查看不同日期的日历。

2. 创建和编辑事件:用户可以通过Java日历小程序创建新的日历事件,并为每个事件指定标题、日期、时间和地点等详细信息。

程序还提供了事件编辑功能,允许用户修改已有事件的信息。

3. 提醒功能:Java日历小程序可以设置事件的提醒功能,提醒用户在指定的时间前提醒。

用户可以选择在事件开始前几分钟、几小时或几天提醒,并可以自定义提醒方式,如弹窗、声音或邮件通知等。

4. 重复事件:用户可以为事件设置重复功能,使事件在指定的日期间隔内重复发生。

可以选择每天、每周、每月或每年重复,并可以设置重复的结束日期。

5. 时间段计算:Java日历小程序可以计算两个日期之间的时间段,如计算两个事件之间的天数、小时数或分钟数等。

用户可以选择计算方式,并获取精确的时间段结果。

使用方法:1. 下载和安装:用户可以从官方网站上下载Java日历小程序的安装包,然后按照安装向导进行安装。

安装完成后,用户可以在桌面或开始菜单中找到程序的快捷方式。

2. 打开程序:双击程序的快捷方式,Java日历小程序将启动并显示当前月份的日历。

用户可以通过界面上的按钮和菜单来使用各种功能。

3. 创建事件:用户可以点击界面上的“添加事件”按钮,弹出一个对话框,输入事件的详细信息,如标题、日期、时间和地点等。

点击“确定”按钮后,事件将被创建并显示在日历上。

4. 编辑事件:用户可以在日历上点击已有的事件,弹出一个对话框,允许用户修改事件的信息。

Java获取当天、当前月、当前年(今年)的开始和结束时间戳

Java获取当天、当前月、当前年(今年)的开始和结束时间戳

Java获取当天、当前⽉、当前年(今年)的开始和结束时间戳最近在做统计相关的功能的时候涉及到了获取当天的开始和结束的时间戳、当⽉和当年的开始结束时间戳,特此记录,以作备忘。

相关代码package com.lingyejun.authenticator;import java.time.Instant;import java.time.LocalDateTime;import java.time.ZoneId;import java.util.Calendar;import java.util.TimeZone;public class CalendarAdjust {/*** 获取指定某⼀天的开始时间戳** @param timeStamp 毫秒级时间戳* @param timeZone 如 GMT+8:00* @return*/public static Long getDailyStartTime(Long timeStamp, String timeZone) {Calendar calendar = Calendar.getInstance();calendar.setTimeZone(TimeZone.getTimeZone(timeZone));calendar.setTimeInMillis(timeStamp);calendar.set(Calendar.HOUR_OF_DAY, 0);calendar.set(Calendar.SECOND, 0);calendar.set(Calendar.MINUTE, 0);calendar.set(LISECOND, 0);return calendar.getTimeInMillis();}/*** 获取指定某⼀天的结束时间戳** @param timeStamp 毫秒级时间戳* @param timeZone 如 GMT+8:00* @return*/public static Long getDailyEndTime(Long timeStamp, String timeZone) {Calendar calendar = Calendar.getInstance();calendar.setTimeZone(TimeZone.getTimeZone(timeZone));calendar.setTimeInMillis(timeStamp);calendar.set(Calendar.HOUR_OF_DAY, 23);calendar.set(Calendar.MINUTE, 59);calendar.set(Calendar.SECOND, 59);calendar.set(LISECOND, 999);return calendar.getTimeInMillis();}/*** 获取当⽉开始时间戳** @param timeStamp 毫秒级时间戳* @param timeZone 如 GMT+8:00* @return*/public static Long getMonthStartTime(Long timeStamp, String timeZone) {Calendar calendar = Calendar.getInstance();// 获取当前⽇期calendar.setTimeZone(TimeZone.getTimeZone(timeZone));calendar.setTimeInMillis(timeStamp);calendar.add(Calendar.YEAR, 0);calendar.add(Calendar.MONTH, 0);calendar.set(Calendar.DAY_OF_MONTH, 1);// 设置为1号,当前⽇期既为本⽉第⼀天calendar.set(Calendar.HOUR_OF_DAY, 0);calendar.set(Calendar.MINUTE, 0);calendar.set(Calendar.SECOND, 0);calendar.set(LISECOND, 0);return calendar.getTimeInMillis();}/*** 获取当⽉的结束时间戳** @param timeStamp 毫秒级时间戳* @param timeZone 如 GMT+8:00* @return*/public static Long getMonthEndTime(Long timeStamp, String timeZone) {Calendar calendar = Calendar.getInstance();// 获取当前⽇期calendar.setTimeZone(TimeZone.getTimeZone(timeZone));calendar.setTimeInMillis(timeStamp);calendar.add(Calendar.YEAR, 0);calendar.add(Calendar.MONTH, 0);calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));// 获取当前⽉最后⼀天calendar.set(Calendar.HOUR_OF_DAY, 23);calendar.set(Calendar.MINUTE, 59);calendar.set(Calendar.SECOND, 59);calendar.set(LISECOND, 999);return calendar.getTimeInMillis();}/*** 获取当年的开始时间戳** @param timeStamp 毫秒级时间戳* @param timeZone 如 GMT+8:00* @return*/public static Long getYearStartTime(Long timeStamp, String timeZone) {Calendar calendar = Calendar.getInstance();// 获取当前⽇期calendar.setTimeZone(TimeZone.getTimeZone(timeZone));calendar.setTimeInMillis(timeStamp);calendar.add(Calendar.YEAR, 0);calendar.add(Calendar.DATE, 0);calendar.add(Calendar.MONTH, 0);calendar.set(Calendar.DAY_OF_YEAR, 1);calendar.set(Calendar.HOUR_OF_DAY, 0);calendar.set(Calendar.MINUTE, 0);calendar.set(Calendar.SECOND, 0);calendar.set(LISECOND, 0);return calendar.getTimeInMillis();}/*** 获取当年的最后时间戳** @param timeStamp 毫秒级时间戳* @param timeZone 如 GMT+8:00* @return*/public static Long getYearEndTime(Long timeStamp, String timeZone) {Calendar calendar = Calendar.getInstance();// 获取当前⽇期calendar.setTimeZone(TimeZone.getTimeZone(timeZone));calendar.setTimeInMillis(timeStamp);int year = calendar.get(Calendar.YEAR);calendar.clear();calendar.set(Calendar.YEAR, year);calendar.set(Calendar.HOUR_OF_DAY, 23);calendar.set(Calendar.MINUTE, 59);calendar.set(Calendar.SECOND, 59);calendar.set(LISECOND, 999);calendar.roll(Calendar.DAY_OF_YEAR, -1);return calendar.getTimeInMillis();}/*** 时间戳转字符串** @param timestamp 毫秒级时间戳* @param zoneId 如 GMT+8或UTC+08:00* @return*/public static String timestampToStr(long timestamp, String zoneId) {ZoneId timezone = ZoneId.of(zoneId);LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(timestamp), timezone);return localDateTime.toString();}public static void main(String[] args) {Long currentTime = System.currentTimeMillis();System.out.println("Current Time : " + currentTime + " = " + timestampToStr(currentTime, "GMT+8"));Long dailyStart = getDailyStartTime(currentTime, "GMT+8:00");Long dailyEnd = getDailyEndTime(currentTime, "GMT+8:00");Long monthStart = getMonthStartTime(currentTime, "GMT+8:00");Long monthEnd = getMonthEndTime(currentTime, "GMT+8:00");Long yearStart = getYearStartTime(currentTime, "GMT+8:00");Long yearEnd = getYearEndTime(currentTime, "GMT+8:00");System.out.println("Daily Start : " + dailyStart + " = " + timestampToStr(dailyStart, "GMT+8") + " Daily End : " + dailyEnd + " = " + timestampToStr(dailyEnd, "GMT+8"));System.out.println("Month Start : " + monthStart + " = " + timestampToStr(monthStart, "GMT+8") + " Month End : " + monthEnd + " = " + timestampToStr(monthEnd, "GMT+8")); System.out.println("Year Start : " + yearStart + " = " + timestampToStr(yearStart, "GMT+8") + " Year End : " + yearEnd + " = " + timestampToStr(yearEnd, "GMT+8"));}}效果。

JAVA将输入的日期转换为中文日期

JAVA将输入的日期转换为中文日期

JAVA将输⼊的⽇期转换为中⽂⽇期JAVA将输⼊的⽇期转换为中⽂⽇期(例如: 2007-10-05 --> ⼆○○七年⼗⽉五⽇)package com.business.practitioner;import java.text.SimpleDateFormat;import java.util.Date;/*** Creation date: 2010-5-22下午03:41:58* 功能: 将输⼊的⽇期转换为中⽂⽇期(例如: 2007-10-05 --> ⼆○○七年⼗⽉五⽇)* 说明:此程序假定输⼊格式为yyyy-mm-dd, 且年⽉⽇部分都为数字, 没有加上⾮法* 输⼊的相关校验* 测试可以输⼊ 2007-01-05* 2007-1-05* 2007-10-05*/public class DateConvertor {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubString issueDate = "2001-12-25";System.out.println(getYearStr(formatStr(issueDate)));}/*** create date:2010-5-22下午04:29:37* 描述:将⽇期转换为指定格式字符串* @param date ⽇期* @return*/public static String getDateStr(Date date){SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd" );String datestr = sdf.format(date);return datestr;}/*** create date:2010-5-22下午03:40:44* 描述:取出⽇期字符串中的年份字符串* @param str ⽇期字符串* @return*/public static String getYearStr(String str){String yearStr = "";yearStr = str.substring(0,4);return yearStr;}/*** create date:2010-5-22下午03:40:47* 描述:取出⽇期字符串中的⽉份字符串* @param str⽇期字符串* @return*/public static String getMonthStr(String str){String m;int startIndex = str.indexOf("年");int endIndex = str.indexOf("⽉");monthStr = str.substring(startIndex+1,endIndex);return monthStr;}/*** create date:2010-5-22下午03:32:31* 描述:将源字符串中的阿拉伯数字格式化为汉字* @param sign 源字符串中的字符* @return*/public static char formatDigit(char sign){if(sign == '0')sign = '0';if(sign == '1')sign = '⼀';if(sign == '2')sign = '⼆';if(sign == '3')sign = '三';if(sign == '4')sign = '四';if(sign == '5')sign = '五';if(sign == '6')sign = '六';if(sign == '7')sign = '七';if(sign == '8')sign = '⼋';if(sign == '9')sign = '九';return sign;}/*** create date:2010-5-22下午03:31:51* 描述:获得⽉份字符串的长度* @param str 待转换的源字符串* @param pos1 第⼀个'-'的位置* @param pos2 第⼆个'-'的位置* @return*/public static int getMidLen(String str,int pos1,int pos2){return str.substring(pos1+1, pos2).length();}/*** create date:2010-5-22下午03:32:17* 描述:获得⽇期字符串的长度* @param str 待转换的源字符串* @param pos2 第⼆个'-'的位置* @return*/public static int getLastLen(String str,int pos2){return str.substring(pos2+1).length();}/*** create date:2010-5-22下午03:40:50* 描述:取出⽇期字符串中的⽇字符串* @param str ⽇期字符串* @return*/public static String getDayStr(String str){String dayStr = "";int startIndex = str.indexOf("⽉");int endIndex = str.indexOf("⽇");dayStr = str.substring(startIndex+1,endIndex);return dayStr;}/*** create date:2010-5-22下午03:32:46* 描述:格式化⽇期* @param str 源字符串中的字符* @return*/public static String formatStr(String str){StringBuffer sb = new StringBuffer();int pos1 = str.indexOf("-");int pos2 = stIndexOf("-");for(int i = 0; i < 4; i++){sb.append(formatDigit(str.charAt(i)));}sb.append('年');if(getMidLen(str,pos1,pos2) == 1){sb.append(formatDigit(str.charAt(5))+"⽉");if(str.charAt(7) != '0'){if(getLastLen(str, pos2) == 1){sb.append(formatDigit(str.charAt(7))+"⽇");}if(getLastLen(str, pos2) == 2){if(str.charAt(7) != '1' && str.charAt(8) != '0'){sb.append(formatDigit(str.charAt(7))+"⼗"+formatDigit(str.charAt(8))+"⽇"); }else if(str.charAt(7) != '1' && str.charAt(8) == '0'){sb.append(formatDigit(str.charAt(7))+"⼗⽇");}else if(str.charAt(7) == '1' && str.charAt(8) != '0'){sb.append("⼗"+formatDigit(str.charAt(8))+"⽇");}else{sb.append("⼗⽇");}}}else{sb.append(formatDigit(str.charAt(8))+"⽇");}}if(getMidLen(str,pos1,pos2) == 2){if(str.charAt(5) != '0' && str.charAt(6) != '0'){sb.append("⼗"+formatDigit(str.charAt(6))+"⽉");if(getLastLen(str, pos2) == 1){sb.append(formatDigit(str.charAt(8))+"⽇");}if(getLastLen(str, pos2) == 2){if(str.charAt(8) != '0'){if(str.charAt(8) != '1' && str.charAt(9) != '0'){sb.append(formatDigit(str.charAt(8))+"⼗"+formatDigit(str.charAt(9))+"⽇"); }else if(str.charAt(8) != '1' && str.charAt(9) == '0'){sb.append(formatDigit(str.charAt(8))+"⼗⽇");}else if(str.charAt(8) == '1' && str.charAt(9) != '0'){sb.append("⼗"+formatDigit(str.charAt(9))+"⽇");}else{sb.append("⼗⽇");}}else{sb.append(formatDigit(str.charAt(9))+"⽇");}}}else if(str.charAt(5) != '0' && str.charAt(6) == '0'){sb.append("⼗⽉");if(getLastLen(str, pos2) == 1){sb.append(formatDigit(str.charAt(8))+"⽇");}if(getLastLen(str, pos2) == 2){if(str.charAt(8) != '0'){if(str.charAt(8) != '1' && str.charAt(9) != '0'){sb.append(formatDigit(str.charAt(8))+"⼗"+formatDigit(str.charAt(9))+"⽇"); }else if(str.charAt(8) != '1' && str.charAt(9) == '0'){sb.append(formatDigit(str.charAt(8))+"⼗⽇");}else if(str.charAt(8) == '1' && str.charAt(9) != '0'){sb.append("⼗"+formatDigit(str.charAt(9))+"⽇");}else{sb.append("⼗⽇");}}else{sb.append(formatDigit(str.charAt(9))+"⽇");}}}else{sb.append(formatDigit(str.charAt(6))+"⽉");if(getLastLen(str, pos2) == 1){sb.append(formatDigit(str.charAt(8))+"⽇");}if(getLastLen(str, pos2) == 2){if(str.charAt(8) != '0'){if(str.charAt(8) != '1' && str.charAt(9) != '0'){sb.append(formatDigit(str.charAt(8))+"⼗"+formatDigit(str.charAt(9))+"⽇"); }else if(str.charAt(8) != '1' && str.charAt(9) == '0'){sb.append(formatDigit(str.charAt(8))+"⼗⽇");}else if(str.charAt(8) == '1' && str.charAt(9) != '0'){sb.append("⼗"+formatDigit(str.charAt(9))+"⽇");}else{sb.append("⼗⽇");}}else{sb.append(formatDigit(str.charAt(9))+"⽇");}}}}return sb.toString(); }}。

jsp页面中两种方法显示当前时间的简单实例

jsp页面中两种方法显示当前时间的简单实例

jsp页⾯中两种⽅法显⽰当前时间的简单实例在jsp页⾯实现显⽰当前的⽇期时间,我们可以⽤⼀下两种⽅式实现:1. 通过在jsp页⾯添加Java代码实现,主要代码如下所⽰java.text.SimpleDateFormat simpleDateFormat = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");java.util.Date currentTime = new java.util.Date();String time = simpleDateFormat.format(currentTime).toString(); //放到页⾯的head中}当前的⽇期时间:<%=time%>这种显⽰的是格式化后的⽇期时间,可以根据我们的需要不同在simpledateformat中设置不同的格式2. 通过js实现。

js代码如下:clock.jsfunction showtime(){var today;var hour;var second;var minute;var year;var month;var date;var strDate;today=new Date();var n_day = today.getDay();switch (n_day){case 0:{strDate = "星期⽇"}break;case 1:{strDate = "星期⼀"}break;case 2:{strDate ="星期⼆"}break;case 3:{strDate = "星期三"}break;case 4:{strDate = "星期四"}break;case 5:{strDate = "星期五"}break;case 6:{strDate = "星期六"}break;case 7:{strDate = "星期⽇"}break;}year = today.getYear();month = today.getMonth()+1;date = today.getDate();hour = today.getHours();minute =today.getMinutes();second = today.getSeconds();if(month<10) month="0"+month;if(date<10) date="0"+date;if(hour<10) hour="0"+hour;if(minute<10) minute="0"+minute;if(second<10) second="0"+second;document.getElementById('clock').innerHTML = year + "年" + month + "⽉" + date + "⽇ " + strDate +" " + hour + ":" + minute + ":" + second; setTimeout("showtime();", 1000);}然后我们在jsp页⾯引⼊这个js,调⽤中的⽅法showtime()可以获得当前时间以上就是⼩编为⼤家带来的jsp页⾯中两种⽅法显⽰当前时间的简单实例全部内容了,希望⼤家多多⽀持~。

获取阴历(农历)和当前日期的js代码

获取阴历(农历)和当前日期的js代码

获取阴历(农历)和当前⽇期的js代码本⽂为⼤家分享了⼀段js显⽰阴历(农历)和当前⽇期的关键性代码,供⼤家参考,具体内容如下var CalendarData=new Array(100);var madd=new Array(12);var tgString="甲⼄丙丁戊⼰庚⾟壬癸";var dzString="⼦丑寅卯⾠巳午未申⾣戌亥";var numString="⼀⼆三四五六七⼋九⼗";var monString="正⼆三四五六七⼋九⼗冬腊";var weekString="⽇⼀⼆三四五六";var sx="⿏⽜虎兔龙蛇马⽺猴鸡狗猪";var cYear,cMonth,cDay,TheDate;CalendarData = new Array(0xA4B,0x5164B,0x6A5,0x6D4,0x415B5,0x2B6,0x957,0x2092F,0x497,0x60C96,0xD4A,0xEA5,0x50DA9,0x5AD,0x2B6,0x3126E, 0x92E,0x7192D,0xC95,0xD4A,0x61B4A,0xB55,0x56A,0x4155B, 0x25D,0x92D,0x2192B,0xA95,0x7169 madd[0]=0;madd[1]=31;madd[2]=59;madd[3]=90;madd[4]=120;madd[5]=151;madd[6]=181;madd[7]=212;madd[8]=243;madd[9]=273;madd[10]=304;madd[11]=334;function GetBit(m,n){return (m>>n)&1;}function e2c(){TheDate= (arguments.length!=3) ? new Date() : new Date(arguments[0],arguments[1],arguments[2]);var total,m,n,k;var isEnd=false;var tmp=TheDate.getYear();if(tmp<1900){tmp+=1900;}total=(tmp-1921)*365+Math.floor((tmp-1921)/4)+madd[TheDate.getMonth()]+TheDate.getDate()-38;if(TheDate.getYear()%4==0&&TheDate.getMonth()>1) {total++;}for(m=0;;m++){k=(CalendarData[m]<0xfff)?11:12;for(n=k;n>=0;n--){if(total<=29+GetBit(CalendarData[m],n)){isEnd=true; break;}total=total-29-GetBit(CalendarData[m],n);}if(isEnd) break;}cYear=1921 + m;cMonth=k-n+1;cDay=total;if(k==12){if(cMonth==Math.floor(CalendarData[m]/0x10000)+1){cMonth=1-cMonth;}if(cMonth>Math.floor(CalendarData[m]/0x10000)+1){cMonth--;}}}function GetcDateString(){var tmp="";tmp+=tgString.charAt((cYear-4)%10);tmp+=dzString.charAt((cYear-4)%12);tmp+="(";tmp+=sx.charAt((cYear-4)%12);tmp+=")年 ";if(cMonth<1){tmp+="(闰)";tmp+=monString.charAt(-cMonth-1);}else{tmp+=monString.charAt(cMonth-1);}tmp+="⽉";tmp+=(cDay<11)?"初":((cDay<20)?"⼗":((cDay<30)?"廿":"三⼗"));if (cDay%10!=0||cDay==10){tmp+=numString.charAt((cDay-1)%10);}return tmp;}function GetLunarDay(solarYear,solarMonth,solarDay){//solarYear = solarYear<1900?(1900+solarYear):solarYear;if(solarYear<1921 || solarYear>2020){return "";}else{solarMonth = (parseInt(solarMonth)>0) ? (solarMonth-1) : 11;e2c(solarYear,solarMonth,solarDay);return GetcDateString();}}var D=new Date();var yy=D.getFullYear();var mm=D.getMonth()+1;var dd=D.getDate();var ww=D.getDay();var ss=parseInt(D.getTime() / 1000);if (yy<100) yy="19"+yy;function showCal(){document.write(GetLunarDay(yy,mm,dd));}页⾯调⽤代码:<script language="JavaScript" type="text/javascript" src="getCNdate.js"></script><script type="text/javascript">showCal();</script>代码⼆:⽤JavaScript获取当前农历⽇期<script type="text/javascript">var sWeek = new Array("星期⽇","星期⼀","星期⼆","星期三","星期四","星期五","星期六");var dNow = new Date();var CalendarData=new Array(100);var madd=new Array(12);var tgString="甲⼄丙丁戊⼰庚⾟壬癸";var dzString="⼦丑寅卯⾠巳午未申⾣戌亥";var numString="⼀⼆三四五六七⼋九⼗";var monString="正⼆三四五六七⼋九⼗冬腊";var weekString="⽇⼀⼆三四五六" CalendarData = new Array( 0xA4B,0x5164B,0x6A5,0x6D4,0x415B5,0x2B6,0x957,0x2092F,0x497,0x60C96, 0xD4A,0xEA5,0x50DA9,0x5AD,0x2B6,0x3126E, 0x92E,0x7192D,0xC95,0xD4A, 0x61B4A,0xB55,0x56A,0x4155B, 0x25D,0x92D,0x 0x49B,0x41497,0xA4B,0xA164B, 0x6A5,0x6D4,0x615B4,0xAB6,0x957,0x5092F,0x497,0x64B, 0x30D4A,0xEA5,0x80D65,0x5AC,0xAB6,0x5126D,0x92E,0xC96, 0x41A95,0xD4A,0xDA5,0x20B55,0x56A,0x7155B,0x25D,0x92D,0x5192B,0xA95, 0xB4A,0x416AA,0xAD5,0x90AB5,0x4BA,0xA5B, 0x60A57,0x52B,0xA93,0x40E95); madd[0]=0;madd[1]=31;madd[2]=59;madd[3]=90;madd[4]=120;madd[5]=151;madd[6]=181;madd[7]=212;madd[8]=243;madd[9]=273;madd[10]=304;madd[11]=334;function GetBit(m,n) { return (m>>n)&1; }function e2c(){TheDate= (arguments.length!=3) ? new Date() : new Date(arguments[0],arguments[1],arguments[2]);var total,m,n,k;var isEnd=false;var tmp=TheDate.getFullYear();total=(tmp-1921)*365+Math.floor((tmp-1921)/4)+madd[TheDate.getMonth()]+TheDate.getDate()-38; if (TheDate.getYear()%4==0&&TheDate.getMonth()>1) { total++;} for(m=0;;m++) { k=(CalendarData[m]<0xfff)?11:12; for(n=k;n>=0;n--) { if(total<=29+GetBit(C function GetcDateString(){ var tmp=""; tmp+=tgString.charAt((cYear-4)%10);tmp+=dzString.charAt((cYear-4)%12);tmp+="年 ";if(cMonth<1) { tmp+="(闰)"; tmp+=monString.charAt(-cMonth-1); } else {tmp+=monString.charAt(cMonth-1);} tmp+="⽉"; tmp+=(cDay<11)?"初":((cDay<20)?"⼗":((cDay<30)?"廿":"三⼗"));if (cDay%10!=0||cDay==10) { tmp+=numString.charAt((cDay-1)%10); } return tmp;}function GetLunarDay(solarYear,solarMonth,solarDay){if (solarYear<1921 || solarYear>2020) { return "";} else { solarMonth = (parseInt(solarMonth)>0) ? (solarMonth-1) : 11; e2c(solarYear,solarMonth,solarDay); return GetcDateString(); }}var D=new Date();var yy=D.getFullYear();var mm=D.getMonth()+1;var dd=D.getDate();var ww=D.getDay();var ss=parseInt(D.getTime() / 1000);function getFullYear(d){// 修正firefox下year错误yr=d.getYear();if(yr<1000)yr+=1900;return yr;}function showDate() {var sValue = getFullYear(dNow)+"年"+(dNow.getMonth()+1)+"⽉"+dNow.getDate()+"⽇"+" "+sWeek[dNow.getDay()]+" ";sValue+=GetLunarDay(yy,mm,dd);document.getElementById("pDate").innerHTML = sValue;};window.onload=showDate;</script>知道如何获取农历,如何呢获取当前⽇期也很简单。

万年历源代码

万年历源代码
LCD_Write(LCD_COMMAND, 0x04|InputMode); }
//初始化 LCD************************************************************
void LCD_Initial()
{
LcdEn=0; LCD_Write(LCD_COMMAND,0x38);
#define LCD_SHOW
0x04 //显示开
#define LCD_HIDE
0x00 //显示关
#define LCD_CURSOR #define LCD_NO_CURSOR
#define LCD_FLASH #define LCD_NO_FLASH
0x02 0x00
//显示光标 //无光标
{
Time->DateString[0] = '2';
Time->DateString[1] = '0';
Time->DateString[2] = Time->Year/10 + '0';
#include <REG52.H> #include <intrins.h> //#include "LCD1602.h" //#include "DS1302.h"
#define uint unsigned int #define uchar unsigned char sbit DS1302_CLK = P1^7; sbit DS1302_IO = P1^6; sbit DS1302_RST = P1^5;
0x01 0x00
//光标闪动 //光标不闪动

java万年历源代码(可运行)

java万年历源代码(可运行)
private JTable table = new JTable(dtm); //装日期的表格
private JScrollPane sp = new JScrollPane(table);
private JButton bLastYear = new JButton("上一年");
p3.add(jsp, BorderLayout.CENTER);
p3.add(p2, BorderLayout.SOUTH);
p3.add(ld, BorderLayout.NORTH);
private JTextArea jta = new JTextArea(); //jta--JTextArea
private JScrollPane jsp = new JScrollPane(jta);
private JLabel l = new JLabel("年份文本框中可直接键入要查找的年份,以提高查询效率");
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
//import java.sql.Date;
cld.set(Integer.parseInt(strDate[0]), Integer.parseInt(strDate[1])-1, 0);
showCalendar(Integer.parseInt(strDate[0]), Integer.parseInt(strDate[1]), cld);

java获取年月日的方法

java获取年月日的方法

Java获取年月日的方法在Java编程中,我们经常需要获取当前的年、月和日。

这些信息在许多应用程序中都是必需的,例如日历应用、日期处理和数据分析等。

本文将介绍几种获取年月日的方法,帮助你在Java中轻松地处理日期。

1. 使用Java.util.Date类Java.util.Date类是Java中处理日期和时间的基本类之一。

要获取当前的年、月和日,可以使用以下代码:import java.util.Date;import java.text.SimpleDateFormat;public class Main {public static void main(String[] args) {Date date = new Date();SimpleDateFormat sdfYear = new SimpleDateFormat("yyyy");SimpleDateFormat sdfMonth = new SimpleDateFormat("MM");SimpleDateFormat sdfDay = new SimpleDateFormat("dd");String year = sdfYear.format(date);String month = sdfMonth.format(date);String day = sdfDay.format(date);System.out.println("Year: " + year);System.out.println("Month: " + month);System.out.println("Day: " + day);}}在上面的代码中,我们使用了SimpleDateFormat类来格式化日期。

通过传入不同的格式化模式,我们可以获取所需的日期部分。

使用Java创建简单的日历应用程序

使用Java创建简单的日历应用程序

使用Java创建简单的日历应用程序-一个实战教程日历应用程序是一个有用的工具,它允许用户记录和管理事件、约会和提醒。

在这个实战博客中,我们将创建一个Java日历应用程序,演示如何使用Java编程语言和图形用户界面(GUI)库来实现事件管理和日期选择功能。

以下是本实战博客的主要内容:项目概述准备工作创建Java项目设计GUI界面实现日历视图添加事件管理功能总结让我们开始吧!1. 项目概述在本项目中,我们将创建一个简单的Java日历应用程序,它包括以下主要功能:显示日历界面,允许用户选择日期。

在日历中标记已经安排的事件和约会。

允许用户添加、编辑和删除事件。

提供事件的日期和时间提醒功能。

我们将使用Java编程语言和Swing GUI库来构建这个日历应用程序。

2. 准备工作在开始之前,确保您的开发环境已设置好。

我们将使用Java编程语言和Swing库来构建日历应用程序,不需要额外的工具或库。

3. 创建Java项目首先,创建一个新的Java项目,您可以使用任何Java集成开发环境(IDE)来完成此操作。

在项目中,我们将创建Java类来实现日历应用程序。

4. 设计GUI界面我们将创建一个简单的Swing GUI界面,用于显示日历界面和事件列表。

创建一个Java类,例如CalendarApp,并在其中创建GUI界面。

javaCopy codeimport javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Calendar;import java.util.Date;public class CalendarApp {private JFrame frame;private JPanel calendarPanel;private JPanel eventPanel;private JTextArea eventList;private JButton addButton;private JButton editButton;private JButton deleteButton;public CalendarApp() {frame = new JFrame("日历应用程序");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(800, 600);frame.setLayout(new BorderLayout());calendarPanel = new JPanel(new BorderLayout());eventPanel = new JPanel(new BorderLayout());eventList = new JTextArea();eventList.setEditable(false);JScrollPane eventScrollPane = new JScrollPane(eventList);addButton = new JButton("添加事件");editButton = new JButton("编辑事件");deleteButton = new JButton("删除事件");eventPanel.add(eventScrollPane, BorderLayout.CENTER);eventPanel.add(addButton, BorderLayout.NORTH);eventPanel.add(editButton, BorderLayout.WEST);eventPanel.add(deleteButton, BorderLayout.EAST);frame.add(calendarPanel, BorderLayout.WEST);frame.add(eventPanel, BorderLayout.CENTER);addButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {addEvent();}});editButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {editEvent();}});deleteButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {deleteEvent();}});frame.setVisible(true);}public static void main(String[] args) {SwingUtilities.invokeLater(() -> new CalendarApp());}private void addEvent() {// 实现添加事件的代码,略...}private void editEvent() {// 实现编辑事件的代码,略...}private void deleteEvent() {// 实现删除事件的代码,略...}}在上述代码中,我们创建了一个CalendarApp类,包括一个Swing窗口、日历界面和事件列表。

java万年历程序代码

java万年历程序代码

package pack;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Calendar;import java.util.Date;public class rili extends JFrame implements ActionListener { JButton b_today, b_query;JLabel lb_Year, lb_Month;JButton b_week[] = new JButton[7];JButton b_day[][] = new JButton[6][7];Container thisContainer;JPanel pUp;JPanel pCenter;JPanel pCenter_week, pCenter_day;JComboBox year, month;public void init() {b_today = new JButton("Today");b_query = new JButton("Query");setTitle("日历");lb_Year = new JLabel("Year");lb_Month = new JLabel("Month");year = new JComboBox();month = new JComboBox();setDate();pUp = new JPanel();pUp.add(lb_Year);pUp.add(year);pUp.add(lb_Month);pUp.add(month);pUp.add(b_today);pUp.add(b_query);b_today.addActionListener(this);b_query.addActionListener(this);pCenter = new JPanel();pCenter_week = new JPanel();b_week[0] = new JButton("星期日");b_week[1] = new JButton("星期一");b_week[2] = new JButton("星期二");b_week[3] = new JButton("星期三");b_week[4] = new JButton("星期四");b_week[5] = new JButton("星期五");b_week[6] = new JButton("星期六");b_week[0].setSize(400, 200);b_week[1].setSize(400, 200);b_week[2].setSize(400, 200);b_week[3].setSize(400, 200);b_week[4].setSize(400, 200);b_week[5].setSize(400, 200);b_week[6].setSize(400, 200);for (int i = 0; i < 7; i++) {b_week[i].setEnabled(false);pCenter_week.add(b_week[i]);}pCenter_day = new JPanel();for (int cols = 0; cols < 6; cols++) {for (int rows = 0; rows < 7; rows++) {b_day[cols][rows] = new JButton("");b_day[cols][rows].setSize(400, 200);this.pCenter_day.add(b_day[cols][rows]);}}pCenter_day.setLayout(new GridLayout(6, 7));setDay(Integer.parseInt(this.year.getSelectedItem().toString()),Integer.parseInt(this.month.getSelectedItem().toString()));// setDay(2011,2);pCenter.setLayout(new BorderLayout());pCenter.add(pCenter_week, "North");pCenter.add(pCenter_day, "Center");thisContainer = this.getContentPane();thisContainer.setLayout(new BorderLayout());thisContainer.add(pUp, "North");thisContainer.add(pCenter, "Center");this.setVisible(true);this.setResizable(false);this.pack();}public void setDate() {int year, month, day, week;Calendar cal = Calendar.getInstance();year = cal.get(Calendar.YEAR);month = cal.get(Calendar.MONTH);day = cal.get(Calendar.DA TE);week = cal.get(Calendar.WEEK_OF_YEAR);int year_temp = year - 4;for (int i = 0; i < 10; i++) {this.year.addItem(year_temp);year_temp += 1;}this.year.setSelectedIndex(4);for (int n = 0; n < 12; n++) {this.month.addItem(n + 1);}this.month.setSelectedIndex(month);}public void setDay(int Year, int Month) {int count;Calendar c = Calendar.getInstance();c.clear();c.set(Year, Month-1, 1);count = c.getActualMaximum(Calendar.DAY_OF_MONTH); // 总天数System.out.print(count);int day = c.get(Calendar.DAY_OF_WEEK) - 1; // 0为星期天,6为星期六System.out.print(day);int i = 1 - day;for (int cols = 0; cols < 6; cols++) {for (int rows = 0; rows < 7; rows++) {String st = String.valueOf(i);b_day[cols][rows].setText(st);b_day[cols][rows].setEnabled(false);if (i > 0 && i <= count)b_day[cols][rows].setVisible(true);elseb_day[cols][rows].setVisible(false);i++;}}}public void actionPerformed(ActionEvent e) {if (e.getSource() == b_query) {this.setDay(Integer.parseInt(this.year.getSelectedItem().toString()), Integer.parseInt(this.month.getSelectedItem().toString()));}if (e.getSource() == b_today) {int year, month;Calendar cal = Calendar.getInstance();year = cal.get(Calendar.YEAR);month = cal.get(Calendar.MONTH)+1;this.setDay(year,month);}}public static void main(String[] args) {rili rl = new rili();rl.init();}}。

自定义数字格式5——日期代码

自定义数字格式5——日期代码

⾃定义数字格式5——⽇期代码昨天我们说了⾃定义数字格式中的⽂本占位符和特殊代码,今天来说下有关⽇期的⼀些代码,你准备好了吗?-01-⽇期代码1.年份的代码下图是有关年份的代码,有2个,⼀个是yy,⼀个是yyyy。

yy是显⽰年份的后2位,结果为00到99;yyyy是将年份显⽰为4位数,结果是1900-9999。

这⾥的yyyy还可以⽤e来表⽰。

如下图所⽰,第1种yy只将年份的后2位显⽰出来,第2种yyyy将年份的4位全部显⽰出来,第3种e和yyyy⼀样,将年份的4位显⽰出来。

很简单,有⽊有。

2.⽉份的代码下图是⽉份的代码,有5个,分别是1个m,2个m,···5个m。

m是将⽉份显⽰为1,2,3,···,12,前⾯不带0;mm是将⽉份显⽰为01,02,···,12,前⾯带0;mmm将⽉份显⽰为英⽂缩写形式Jan,Feb,···,Dec;mmmm将⽉份显⽰为完整的英⽂单词January,February,···,December;mmmmm将⽉份显⽰为英⽂单词⾸字母J,F,···,D。

如下图所⽰,以2019/5/5为列说明,m显⽰5,mm显⽰05,mmm显⽰英⽂缩写前3个字母May,mmmm显⽰完整英⽂单词May,mmmmm显⽰英⽂单词⾸字母M。

其他也是⼀样的。

3.⽇的代码⽇的代码有4种,分别是1个d,2个d,3个d,4个d。

d将⽇显⽰为1到31,前⾯不带0;dd将⽇显⽰为01到31,根据需要在前⾯带0;ddd将⽇显⽰为英⽂周⼏的缩写形式Sun,Mon,···,Sat;dddd将⽇显⽰为完整的英⽂周⼏,Sunday,Monday,···,Saturday。

如下图所⽰,d前⾯不带0,dd根据需要会加0,⽐如第1个和第2个⽇期的天分别是5和8,会在它们前⾯加0,ddd将⽇显⽰为英⽂周⼏的缩写,dddd将⽇显⽰为完整的英⽂周⼏。

java中获取工作日时间的方法

java中获取工作日时间的方法

java中获取工作日时间的方法(原创实用版4篇)《java中获取工作日时间的方法》篇1在Java 中,你可以通过使用`Calendar` 和`Date` 类来获取工作日时间。

以下是一个示例代码,用于获取当前时间的工作日信息:```javaimport java.util.Calendar;import java.util.Date;public class WorkDayExample {public static void main(String[] args) {// 获取当前时间Date currentDate = new Date();// 创建Calendar 对象并设置当前时间Calendar calendar = Calendar.getInstance();calendar.setTime(currentDate);// 获取当前时间的星期几(0 表示星期日,1 表示星期一,以此类推)int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);// 如果当前时间为工作日,则输出"今天是工作日"if (dayOfWeek == Calendar.MONDAY || dayOfWeek == Calendar.TUESDAY ||dayOfWeek == Calendar.WEDNESDAY || dayOfWeek == Calendar.THURSDAY ||dayOfWeek == Calendar.FRIDAY) {System.out.println("今天是工作日");} else {System.out.println("今天是周末");}}}```请注意,这个示例代码将输出当前时间的工作日信息。

《java中获取工作日时间的方法》篇2在Java 中,可以使用`Calendar` 和`Date` 类来获取工作日时间。

JAVA万年历系统课程设计报告附源码

JAVA万年历系统课程设计报告附源码

2013-2014学年第二学期《面向对象程序设计》课程设计报告题目:万年历系统专业:计算机科学与技术班级:姓名:学号:指导教师:成绩:计算机与信息工程系2014年6月6日目录1设计内容及要求设计内容万年历,实际上就是记录一定时间范围内(比如100年或更多)的具体阳历或阴历的日期的年历,方便有需要的人查询使用。

在我设计的万年历中主要有:(1)使用图形用户界面来查询用用户所需的日期信息,符合日常软件使用规范。

(2)按月份查询,实现了显示查询1901~2100年某月所有日期的阴阳历对照。

(3)并且添加了重大节日与星座等信息,界面采用日常的星期与月份结合的格式,方便查看与使用。

(4)编写万年历的课程设计,是为了使同学们更加了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。

为后续各门计算机课程的学习和毕业设计打下坚实基础。

设计任务及具体要求利用JAVA语言编写的万年历系统采用了多种JAVA语句来实现多种功能。

用户可以通过本程序的applet运行界面来查找一整年某月的农历和阳历,可以查找用户所想了解的某一天具体为星期几,并且可以看到一些重大节日的具体时间。

要求:满足设计万年历系统的目的,即当用户查询年份与月份时,系统就要将这一年的某一月份的阴历与阳历全部显示出来,并且附带这一月份的重大节日。

当用户随意改动年份或月份时系统自动显示与星期对应的日期。

用户点击日期时系统会显示具体星座信息。

2概要设计程序设计思路(1)总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。

然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。

java localdate常用方法

java localdate常用方法

java localdate常用方法Java LocalDate是Java 8中的一个日期类,用于表示不带时区的日期。

它提供了一系列常用的方法来操作和处理日期。

本文将介绍LocalDate类的常用方法,帮助读者更好地理解和使用该类。

1. 获取当前日期在Java中,我们可以使用LocalDate.now()方法获取当前日期。

下面是示例代码:LocalDate currentDate = LocalDate.now();System.out.println(currentDate);以上代码将输出当前的日期,格式类似于"2022-07-15"。

2. 构造指定日期除了获取当前日期,我们还可以使用LocalDate.of()方法构造一个指定日期的LocalDate对象。

示例代码如下:LocalDate date = LocalDate.of(2022, 7, 15);System.out.println(date);以上代码将输出指定的日期"2022-07-15"。

3. 获取年、月、日信息在LocalDate类中,我们可以使用getYear()、getMonthValue()和getDayOfMonth()等方法分别获取当前日期的年、月和日信息。

示例代码如下:LocalDate currentDate = LocalDate.now();int year = currentDate.getYear();int month = currentDate.getMonthValue();int day = currentDate.getDayOfMonth();System.out.println("Year: " + year);System.out.println("Month: " + month);System.out.println("Day: " + day);以上代码将输出当前日期的年、月和日信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
days=29;
}
else
{days=28;}
}
else
{
if(month==4||month==6||month==9||month==11){
days=30;
}
else
{
if(month==4||month==6||month==9||month==11){
sum+=30;
}
else
{
sum+=31;}
}
}
/****************************************************/
{
if(month==2)
{
if(firstNumber%4==0&&firstNumber%100!=0||firstNumber%400==0)
{
sum+=29;
}
else
{sum+=28;}
}
int days=0;
for(int month=1;month<=secondNumber-1;month++) //在此输入多少 月-1
{
if(month==2)
{
if(firstNumber%4==0&&firstNumber%100!=0||firstNumber%400==0)
// s1接收来自输入文本框的年
s2 = JOptionPane.showInputDialog("请输入月:");
// s2接收来自输入文本框的月
s3 = JOptionPane.showInputDialog("请输入日");
// s3接收来自输入文本框的日
int firstNumber, secondNumber,thirdNumber;
int sum=0;
/****************************************************/
for(int year=1900;year<=firstNumber-1;year++)
{
if(year%4==0&&year%100!=0||year%400==0)
//输入 日期 知道星期几
import javax.swing.JOptionPane; //装载JOptionPane类
public class A4_26 {
public static void main(String[] args)
{
String s1, s2,s3;
s1 = JOptionPane.showInputDialog("请输入年:");
sum=sum%7;
System.out.println( "这一天是星期 "+sum+"");
JOptionPane.showMessageDialog(null, firstNumber + "年"
+ secondNumber + "月"
+ thirdNumber + "日,是星期"
firstNumber = Integer.parseInt(s1);
// 将字符串s1转换成整数赋值给firstNumber
secondNumber = Integer.parseInt(s2);
// 将字符串s2转换成整数赋值给secondNumber
thirdNumber = Integer.parseInt(s3);
{
sum+=366;
}
else
{sum+=365;}
}
/****************************************************/
for(int month=1;month<=secondNumber-1;month++) //在此输入多少 月-1
+ sum );
}
}
else
{days=31;}
}
}
sum=sum+thirdNumber;
/****************************************************/
int savesum=0;
savesum=sum;
sum=sum-thirdNumber+1;
int weekday=sum%7;
System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int i=0;i<=weekday-1;i++)
{
System.out.print("\t");
}
for(int i=1;i<=days;i++)
System.out.print("\n");
System.out.println("1900年1月1日到" +
""+firstNumber +"年"+
secondNumber +"月"+
thirdNumber +"日"+
+sum+"天");
{
if(sum%7==6){
System.out.print(i+"\n")Hale Waihona Puke } else{
System.out.print(i+"\t");
}
sum++;
}
sum=savesum;
System.out.print("\n");
相关文档
最新文档