java gmt是什么格式 Java时间格式转换,如何获得时区
大家好,今天小编来为大家解答java gmt是什么格式这个问题,Java时间格式转换,如何获得时区很多人还不知道,现在让我们一起来看看吧!
java 中的日期怎么判断是什么格式的
1、Date是没有格式的。
Date是一个包装了毫秒值的瘦包装器,表示自 1970年 1月 1日 00:00:00 GMT以来经过的毫秒数。
2、那么我们通常说的日期格式是怎么回事呢?
我们说的日期格式,是将Date,即是毫秒数按照一定的格式展示给我们,展示出来的值是【String字符串】而不是【Date日期】
所以,你可以将Date转化为任意你要的格式
Java时间格式转换,如何获得时区
//我实现一个时钟窗口程序给你了,好让你更容易理解,希望对你有帮助。
import java.awt.*;
import java.awt.event.*;
import java.util.*;
//世界时钟
public class TimerTest{
public static void main(String[] args){
new TimerTestFrame("世界时钟");
}
}
class TimerTestFrame extends Frame{
/**
*
*/
private static final long serialVersionUID= 1L;
public TimerTestFrame(String s){
super(s);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
dispose();
System.exit(0);
}
});
setLayout(new GridLayout(2, 6));
ClockCanvas clk1= new ClockCanvas("北京","GMT+8");//创建时钟
ClockCanvas clk2= new ClockCanvas("巴黎","GMT+2");
ClockCanvas clk3= new ClockCanvas("华盛顿","GMT-4");
ClockCanvas clk4= new ClockCanvas("洛衫矶","GMT-7");
ClockCanvas clk5= new ClockCanvas("伦敦","GMT+1");
ClockCanvas clk6= new ClockCanvas("芝加哥","GMT-5");
add(clk1);
add(clk2);
add(clk3);
add(clk4);
add(clk5);
add(clk6);
setSize(500, 350);//设置框架宽高
setVisible(true);
}
}
class ClockCanvas extends Canvas implements Runnable{
/**
*
*/
private static final long serialVersionUID= 1L;
private int seconds= 0;
private String city;
private GregorianCalendar calendar;
Thread t;
public ClockCanvas(String c, String tz){
city= c;
//也可以通过TimeZone.setTimeZone(String n)函数改变时区,n为时区参数名。
calendar= new GregorianCalendar(TimeZone.getTimeZone(tz));
t= new Thread(this);
t.start();
setSize(125, 125);//设置画布大小
setBackground(Color.black);
}
//重写父类的方法绘制时钟图形
public void paint(Graphics g){
Graphics2D g2d=(Graphics2D) g;
BasicStroke bstroke= new BasicStroke(2.0f);
g2d.setStroke(bstroke);
g2d.setColor(Color.green);
g2d.drawOval(0, 0, 100, 100);
bstroke= new BasicStroke(5.0f);
g2d.setStroke(bstroke);
g2d.drawLine(50, 0, 50, 5);
g2d.drawLine(0, 50, 5, 50);
g2d.drawLine(50, 95, 50, 98);
g2d.drawLine(95, 50, 98, 50);
double hourAngle= 2* Math.PI*(seconds- 3* 60* 60)
/(12* 60* 60);
double minuteAngle= 2* Math.PI*(seconds- 15* 60)/(60* 60);
double secondAngle= 2* Math.PI*(seconds- 15)/(60);
bstroke= new BasicStroke(5.0f);
g2d.setStroke(bstroke);
g2d.drawLine(50, 50, 50+(int)(30* Math.cos(hourAngle)),
50+(int)(30* Math.sin(hourAngle)));
bstroke= new BasicStroke(3.0f);
g2d.setStroke(bstroke);
g2d.drawLine(50, 50, 50+(int)(40* Math.cos(minuteAngle)),
50+(int)(40* Math.sin(minuteAngle)));
bstroke= new BasicStroke(1.0f);
g2d.setStroke(bstroke);
g2d.drawLine(50, 50, 50+(int)(45* Math.cos(secondAngle)),
50+(int)(45* Math.sin(secondAngle)));
g2d.setColor(Color.red);
g2d.drawString(city, 35, 115);
}
public void timeElapsed(){
//new Date()获得当前时间
System.out.println(new Date());
calendar.setTime(new Date());
seconds= calendar.get(Calendar.HOUR)* 60* 60
+ calendar.get(Calendar.MINUTE)* 60
+ calendar.get(Calendar.SECOND);
}
public void run(){
try{
while(true){
Thread.sleep(300);
timeElapsed();
repaint();
}
} catch(InterruptedException e){
}
}
}
java如何转换日期格式
import java.util.*;
import java.text.*;
import java.util.Calendar;
public class VeDate{
/**
*获取现在时间
*
*@return返回时间类型 yyyy-MM-dd HH:mm:ss
*/
public static Date getNowDate(){
Date currentTime= new Date();
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString= formatter.format(currentTime);
ParsePosition pos= new ParsePosition(8);
Date currentTime_2= formatter.parse(dateString, pos);
return currentTime_2;
}
/**
*获取现在时间
*
*@return返回短时间格式 yyyy-MM-dd
*/
public static Date getNowDateShort(){
Date currentTime= new Date();
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd");
String dateString= formatter.format(currentTime);
ParsePosition pos= new ParsePosition(8);
Date currentTime_2= formatter.parse(dateString, pos);
return currentTime_2;
}
/**
*获取现在时间
*
*@return返回字符串格式 yyyy-MM-dd HH:mm:ss
*/
public static String getStringDate(){
Date currentTime= new Date();
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString= formatter.format(currentTime);
return dateString;
}
/**
*获取现在时间
*
*@return返回短时间字符串格式yyyy-MM-dd
*/
public static String getStringDateShort(){
Date currentTime= new Date();
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd");
String dateString= formatter.format(currentTime);
return dateString;
}
/**
*获取时间小时:分;秒 HH:mm:ss
*
*@return
*/
public static String getTimeShort(){
SimpleDateFormat formatter= new SimpleDateFormat("HH:mm:ss");
Date currentTime= new Date();
String dateString= formatter.format(currentTime);
return dateString;
}
/**
*将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss
*
*@param strDate
*@return
*/
public static Date strToDateLong(String strDate){
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
ParsePosition pos= new ParsePosition(0);
Date strtodate= formatter.parse(strDate, pos);
return strtodate;
}
/**
*将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss
*
*@param dateDate
*@return
*/
public static String dateToStrLong(java.util.Date dateDate){
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString= formatter.format(dateDate);
return dateString;
}
/**
*将短时间格式时间转换为字符串 yyyy-MM-dd
*
*@param dateDate
*@param k
*@return
*/
public static String dateToStr(java.util.Date dateDate){
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd");
String dateString= formatter.format(dateDate);
return dateString;
}
/**
*将短时间格式字符串转换为时间 yyyy-MM-dd
*
*@param strDate
*@return
*/
public static Date strToDate(String strDate){
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd");
ParsePosition pos= new ParsePosition(0);
Date strtodate= formatter.parse(strDate, pos);
return strtodate;
}
/**
*得到现在时间
*
*@return
*/
public static Date getNow(){
Date currentTime= new Date();
return currentTime;
}
/**
*提取一个月中的最后一天
*
*@param day
*@return
*/
public static Date getLastDate(long day){
Date date= new Date();
long date_3_hm= date.getTime()- 3600000* 34* day;
Date date_3_hm_date= new Date(date_3_hm);
return date_3_hm_date;
}
/**
*得到现在时间
*
*@return字符串 yyyyMMdd HHmmss
*/
public static String getStringToday(){
Date currentTime= new Date();
SimpleDateFormat formatter= new SimpleDateFormat("yyyyMMdd HHmmss");
String dateString= formatter.format(currentTime);
return dateString;
}
/**
*得到现在小时
*/
public static String getHour(){
Date currentTime= new Date();
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString= formatter.format(currentTime);
String hour;
hour= dateString.substring(11, 13);
return hour;
}
/**
*得到现在分钟
*
*@return
*/
public static String getTime(){
Date currentTime= new Date();
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString= formatter.format(currentTime);
String min;
min= dateString.substring(14, 16);
return min;
}
/**
*根据用户传入的时间表示格式,返回当前时间的格式如果是yyyyMMdd,注意字母y不能大写。
*
*@param sformat
* yyyyMMddhhmmss
*@return
*/
public static String getUserDate(String sformat){
Date currentTime= new Date();
SimpleDateFormat formatter= new SimpleDateFormat(sformat);
String dateString= formatter.format(currentTime);
return dateString;
}
/**
*二个小时时间间的差值,必须保证二个时间都是"HH:MM"的格式,返回字符型的分钟
*/
public static String getTwoHour(String st1, String st2){
String[] kk= null;
String[] jj= null;
kk= st1.split(":");
jj= st2.split(":");
if(Integer.parseInt(kk[0])< Integer.parseInt(jj[0]))
return"0";
else{
double y= Double.parseDouble(kk[0])+ Double.parseDouble(kk[1])/ 60;
double u= Double.parseDouble(jj[0])+ Double.parseDouble(jj[1])/ 60;
if((y- u)> 0)
return y- u+"";
else
return"0";
}
}
/**
*得到二个日期间的间隔天数
*/
public static String getTwoDay(String sj1, String sj2){
SimpleDateFormat myFormatter= new SimpleDateFormat("yyyy-MM-dd");
long day= 0;
try{
java.util.Date date= myFormatter.parse(sj1);
java.util.Date mydate= myFormatter.parse(sj2);
day=(date.getTime()- mydate.getTime())/(24* 60* 60* 1000);
} catch(Exception e){
return"";
}
return day+"";
}
/**
*时间前推或后推分钟,其中JJ表示分钟.
*/
public static String getPreTime(String sj1, String jj){
SimpleDateFormat format= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String mydate1="";
try{
Date date1= format.parse(sj1);
long Time=(date1.getTime()/ 1000)+ Integer.parseInt(jj)* 60;
date1.setTime(Time* 1000);
mydate1= format.format(date1);
} catch(Exception e){
}
return mydate1;
}
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!