用java编写一个控制时间的程序

用java编写一个控制时间的程序,第1张

import javaawtColor;

import javaawtFont;

import javaawteventActionEvent;

import javaawteventActionListener;

import javatextSimpleDateFormat;

import javautilCalendar;

import javautilDate;

import javautilLocale;

import javaxswingJButton;

import javaxswingJFrame;

import javaxswingJOptionPane;

import javaxswingJPanel;

import javaxswingJTextArea;

public class GetNowTimeDemo{

JFrame frame;

JTextArea displayArea1;

JTextArea displayArea2;

String timestr;

Calendar calendar;

Date currentDate;

SimpleDateFormat sdfyear;//年份格式

SimpleDateFormat sdfmonday;//月份、日期格式

SimpleDateFormat sdfeee;//星期格式

//SimpleDateFormat sdftime;//具体时间格式

String stryear;//年份

String strmonday;//月份、日期

String streee;//星期

String nowTime;

TimeThread timeThread;

SimpleDateFormat sdf=new SimpleDateFormat("hh:mm:ss",LocalegetDefault());

//程序主 *** 作函数

public GetNowTimeDemo(){

frame=new JFrame("现在时间");//显示框容器

framesetLayout(null);

displayArea1=new JTextArea();//大时间显示框

displayArea1setFont(new Font("宋体",FontBOLD,30));//设置显示框字体

displayArea1setBounds(0,0,400,250);

frameadd(displayArea1);//将时间显示框加载到容器中

displayArea1setEditable(false);

displayArea2=new JTextArea();//具体时间显示框

displayArea2setFont(new Font("宋体",FontBOLD,40));//设置显示框字体

displayArea2setBounds(0,250,400,100);

frameadd(displayArea2);//将时间显示框加载到容器中

displayArea2setEditable(false);

displayArea2setForeground(Colorblue);

JPanel panelCon1=new JPanel();//控制面板1

panelCon1setBounds(0,350,400,80);

frameadd(panelCon1);//将控制面板加载到容器中

JButton getTime=new JButton("获取时间");//获取时间按钮

panelCon1add(getTime);//将获取时间按钮加载到控制面板

getTimeaddActionListener(new ActionListener(){//获取时间按钮添加动作监听器

public void actionPerformed(ActionEvent e) {//动作监听函数

GetDisTime();//获取并显示时间

}

});

JButton exit=new JButton("退出");//退出按钮

panelCon1add(exit);//将退出按钮添加到控制面板

exitaddActionListener(new ActionListener(){//退出按钮添加动作监听器

public void actionPerformed(ActionEvent e) {

Systemexit(0);//退出

}

});

framesetLocation(250,50);//设置显示框出现位置

framesetSize(400,430);//设置显示框大小

framesetVisible(true);//设置显示框可见性

framesetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);//设置错误处理

}

//获取时间并显示函数

@SuppressWarnings("deprecation")

public void GetDisTime(){

try{

displayArea1setText("");

calendar=CalendargetInstance();//获得系统时间日历

currentDate=calendargetTime();//格式化日历

sdfyear=new SimpleDateFormat("yyyy",LocalegetDefault());//年份格式

stryear=sdfyearformat(currentDate);//年份格式化显示

displayArea1append("\n\t"+stryear);//年份显示

sdfmonday=new SimpleDateFormat("MMM dd",LocalegetDefault());//月份、日期格式

strmonday=sdfmondayformat(currentDate);//月份、日期格式化显示

displayArea1append("\n\n\t"+strmonday);//月份、日期显示

sdfeee=new SimpleDateFormat("EEE",LocalegetDefault());//星期格式

streee=sdfeeeformat(currentDate);//星期格式化显示

displayArea1append("\n\n\t"+streee);//星期显示

String time=new Date()toLocaleString();

displayArea1append("\n"+time);

timeThread=new TimeThread();

timeThreadstart();//时间线程启动

//sdftime=new SimpleDateFormat("hh:mm:ss",LocalegetDefault());//具体时间格式

//strtime=sdftimeformat(currentDate);//具体时间格式化显示

//displayAreaappend("\n\n\t"+strtime);//具体时间显示

//int hour=calendarget(calendarHOUR_OF_DAY);

//int minute=calendarget(calendarMINUTE);

//int second=calendarget(calendarSECOND);

//displayAreaappend("\n\n\thour= "+hour+"\n\tminute= "

//+minute+"\n\tsecond= "+second);

}catch(Exception e1){

JOptionPaneshowMessageDialog(null,"获取时间出错!");

}

}

class TimeThread extends Thread{

public void run(){

while(true){

try{

calendar=CalendargetInstance();//获得时间

currentDate=calendargetTime();//转化为格式化时间

nowTime=sdfformat(currentDate);//将格式化时间转化为设置的String

displayArea2setText("");

displayArea2append(" "+nowTime);

Threadsleep(999);//休眠990us

}catch(Exception e1){

JOptionPaneshowMessageDialog(null, "获取时间出错!");

}

}

}

}

//程序主函数

public static void main(String args[]){

new GetNowTimeDemo();

}

}

/

日历类 作者:lyj

@author Administrator

/

public class MyCalender {

private int year,month,day;//年月日

private static final int BIG_MONTH=31,SMALL_MONTH=30,LEAPYEAR=29,PINGYEAR=28;

private static final int ONE=1,TWELEVE=12;

/

构造函数

@param year 年

@param month 月

@param day 日

/

public MyCalender(int year,int month,int day){

thisyear=year;

thismonth=month;

thisday=day;

}

/

判断日历是否合法

@param my 日历

@return 1 合法 0不合法

/

public int isValid(MyCalender myCal){

//年份不能小于1

//月份不能大于12或者小于1

//日期不能大于31或者小于1

if((myCalyear<ONE) ||(myCalmonth>TWELEVE||myCalmonth<ONE)||

myCalday<ONE||myCalday>BIG_MONTH)

return 0;

return 1;

};

/

返回日历的前一天

@param d

@return

@throws Exception

/

public MyCalender previousDate(MyCalender myDay) throws Exception{

if(isValid(myDay)==0||day>howDay()){

throw new Exception("日历不合法!");

}

else if(day-1==0){

myDaysetMonth(month-1);//月份往前减一

myDaysetDay(howDay());

if(month==0){

myDaysetYear(year-1);

myDaysetMonth(12);

myDaysetDay(howDay());

}

}

else myDaysetDay(day-1);

return myDay;

};

/

返回日历的后一天

@param d

@return

@throws Exception

/

public MyCalender nextDate(MyCalender myDay) throws Exception{

if(isValid(myDay)==0||day>howDay()){

throw new Exception("日历不合法!");

}

//如果后一天大于当前日期的当月天数那么月份+1

else if(day+1>howDay()){

myDaysetDay(1);//日期为1

myDaysetMonth(month+1);

//如果月份大于12的话就年份加1

if(month>12){

myDaysetMonth(1);//月份设置为1

myDaysetYear(year+1);

}

}

else

myDaysetDay(day+1);

return myDay;

};

/

获得当前月份有多少天

@param year

@return

/

private int howDay(){

switch (month) {

case 1:case 3:case 5:case 7 :case 8:case 10:case 12:

return BIG_MONTH;

case 2:

if(isLeapyear())

return LEAPYEAR;

return PINGYEAR;

}

return SMALL_MONTH;

}

/

判断是否是平年

@return

/

protected boolean isLeapyear(){

return ((year%4==0 && year%100!=0)||(year%400==0));

}

@Override

public String toString() {

return year+"年"+month+"月"+day+"日";

};

/set/

public void setYear(int year) {

thisyear = year;

}

public void setDay(int day) {

thisday = day;

}

public void setMonth(int month) {

thismonth = month;

}

/set

//测试入口

@throws Exception /

public static void main(String[] args) throws Exception {

MyCalender my=new MyCalender(2012,11,29);

Systemoutprintln(myhowDay());

Systemoutprintln(mypreviousDate(my));

Systemoutprintln(mynextDate(my));

Systemoutprintln(mynextDate(my));

Systemoutprintln(mynextDate(my));

Systemoutprintln(mynextDate(my));

}

}

楼主你好 目前只实现了你需要的东西

还有就是我新创了一个群 不介意的话来交流 261957883

import javautil;

import javatextSimpleDateFormat;

public class test

{

public static void main (String args[])

{

Date d = new Date();

long longtime = dgetTime();

Systemoutprintln(longtime);

//你获得的是上面的long型数据吧

String time = dtoLocaleString();

//你可以简单的得到本地化时间,本来就是String类型的就不用转换了

Systemoutprintln(time);

//也可以自己用SimpleDateFormat这个函数把它变成自己想要的格式,注意需要import javatextSimpleDateFormat;

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

Systemoutprintln(sdfformat(longtime));

}

}

import javatextParseException;

import javatextSimpleDateFormat;

import javautilCalendar;

import javautilScanner;

public class Cat {

public static void main(String[] args) {

Systemoutprint("Please input a date in format yyyy-MM-dd HH:mm:ss: ");

String input = new Scanner(Systemin)nextLine()trim();

try {

Calendar cal = CalendargetInstance();

calsetTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")parse(input));

caladd(CalendarHOUR, 100);

String date = new SimpleDateFormat("HH:mm:SS yyyy/MM/dd")format(calgetTime());

Systemoutprintln(date);

} catch (ParseException e) {

Systemoutprintln("日期时间不正确");

}

}

}

------------------测试

Please input a date in format yyyy-MM-dd HH:mm:ss: 2011-6-30 3:10:10

07:10:00 2011/07/04

public static int getIntervalDays(String date1, String date2) {

return getIntervalDays(getTime(date1), getTime(date2));

}

public static int getIntervalDays(long s1, long s2) {

return (int) ( (s1 - s2) / (24 3600 1000L));

}

public static javasqlDate str2date(String sDate) {

if (sDate == null || sDateequals(""))

return null;

if (sDatecharAt(0) > '9' || sDatecharAt(0) < '0')

return null;

sDate = sDatereplace('/', '-');

String[] ar = strSplit(sDate, "- :");

if (arlength < 3)

return null;

return javasqlDatevalueOf(ar[0] + "-" + ar[1] + "-" + ar[2]);

}

public static long getTime(Object date) {

if (isEmpty(date))

return SystemcurrentTimeMillis();

return str2date(datetoString())getTime();

}

public static String getDateFromDate(String date, int avail) {

long lg = getTime(date);

return getDateString(lg + (long) avail 86400000L);

}

public static String getDateString(long mill) {

javasqlDate date = new javasqlDate(mill);

return datetoString();

}

以上就是关于用java编写一个控制时间的程序全部的内容,包括:用java编写一个控制时间的程序、运用Java程序设计语言,设计一个日期计算类DateCal、用java编写程序 读取并显示当时时间 格式为年月日小时分钟秒等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9861655.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存