import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Demo {
public static void main(String[] args) {
try {
System.out.println("北京时间:");
String beijinTime = getBeijinTime();
getDateMsg(beijinTime);
System.out.println("系统时间:");
String systemTime = getSystemTime();
getDateMsg(systemTime);
} catch (ParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace(); }
}
/**
* 获得北京时间
* http://www.ntsc.ac.cn-->中国科学院国家授时中心
* http://time.tianqi.com-->北京时间
* http://tv.cctv.com-->央视网
* @return
*/
public static String getBeijinTime() throws IOException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
URL url = new URL("http://time.tianqi.com");//取得资源对象
URLConnection uc=url.openConnection();//生成连接对象
uc.connect(); //发出连接
long ld=uc.getDate(); //取得网站日期时间
Date date=new Date(ld); //转换为标准时间对象
String beijinTime = simpleDateFormat.format(date);
System.out.println("北京时间:"+beijinTime);
return beijinTime;
}
/**
* 获得系统时间
* @return
*/
public static String getSystemTime() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();// 获取当前时间
String systemTime = simpleDateFormat.format(date);
System.out.println("系统时间:"+systemTime);
return systemTime;
}
/**
* 获得日期的年月日时分秒星期
* @param strDate
*/
public static void getDateMsg(String strDate) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar calendar = Calendar.getInstance();
Date date = simpleDateFormat.parse(strDate);
calendar.setTime(date);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int day = calendar.get(Calendar.DATE);
int dayOfHour = calendar.get(Calendar.HOUR_OF_DAY);//24小时制
int hour = calendar.get(Calendar.HOUR);//12小时制
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
String[] weekDays = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
int weekNum = calendar.get(Calendar.DAY_OF_WEEK) - 1;
System.out.println("24小时制:"+year+"-"+month+"-"+day+" "+dayOfHour+":"+minute+":"+second+" "+weekDays[weekNum]);
System.out.println("12小时制:"+year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second+" "+weekDays[weekNum]);
}
}
输出:
北京时间:
北京时间:2019-06-28 16:54:45
24小时制:2019-6-28 16:54:45 星期五
12小时制:2019-6-28 4:54:45 星期五
系统时间:
系统时间:2019-06-28 16:53:49
24小时制:2019-6-28 16:53:49 星期五
12小时制:2019-6-28 4:53:49 星期五