
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编写程序 读取并显示当时时间 格式为年月日小时分钟秒等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)