java时间格式有什么?java时间格式转换
其实java时间格式有什么的问题并不复杂,但是又很多的朋友都不太了解java时间格式转换,因此呢,今天小编就来为大家分享java时间格式有什么的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
Java时间格式转换问题
package Date类;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/*
*需求
*给定一个日期字符串,返回该字符串描述的时间
* 45天以后的日期
*思路:
*计算日期需要Calendar所以要将字符串转换为Calendar然后计算时间,再将其转换回
*字符串输出。
*步骤:1,创建用于转化字符串到Date的SimpleDateFormat并指定日期格式字符串
* 2:将给定的日期字符串转换为Date对象
* 3:创建Calendar的实例
* 4:将转化的Date对象设置到Calendar中,使Calendar的实例代表Date描述的日期
* 7:将Date对象通过SimpleDateFormat转化为字符串并输出;
*/
public class StringToDateCalendar{
/**
* String Date Calendar之间的转换
*@param args
*@throws ParseException
*/
public static void main(String[] args) throws ParseException{
String str="2013-10-10";
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//1
Date date=sdf.parse(str);
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
String cc=sdf.format(date);
System.out.println(cc);
}
}
java如何把时间格式转为毫秒
获取毫秒数,即long类型的数值,仅能返回自 1970年 1月 1日 00:00:00 GMT以来的毫秒数。
一楼、二楼的回答就是正确的,不过在使用中还需要根据自身使用环境,直接使用或者进一步按需优化后再使用。
最常使用的就是,把String类型的日期先转换为Date类型,最后直接调用.getTime()即可,这也是比较方便的了。
还有就是以上提到的Timestamp类中的valueOf(String s)方法,这里一定要注意,给定的字符串日期型数据必须符合置顶指定格式:yyyy-mm-dd hh:mm:ss[.fffffffff],否则会抛出异常。
PS>
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时间格式转换
实现思路就是先通过SimpleDateFormat方法定义一个时间类型的格式,之后SimpleDateFormat的format方法将一个符合时间格式的字符串匹配成对应的格式
举例:
String str0="2015年07月05日";
Dated1=newSimpleDateFormat("yyyy年MM月dd日").parse(str0);//定义起始日期
SimpleDateFormatsdf0=newSimpleDateFormat("yyyy");//定义一个只有年份的
SimpleDateFormatsdf1=newSimpleDateFormat("MM");//月份的
SimpleDateFormatsdf2=newSimpleDateFormat("dd");//日的
Stringstr1=sdf0.format(d1);//取出特定日期d1的年份
Stringstr2=sdf1.format(d1);//取出特定日期d1的月份
Stringstr3=sdf2.format(d1);//取出特定日期d1的日
System.out.println("年份为:"+str1);
System.out.println("月份为:"+str2);
System.out.println("日为:"+str3);
文章分享结束,java时间格式有什么和java时间格式转换的答案你都知道了吗?欢迎再次光临本站哦!