java如何获取当前时间以及格式化需要用到两个类,如下图:
目前创新互联公司已为上1000+的企业提供了网站建设、域名、虚拟空间、绵阳服务器托管、企业网站设计、郴州网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
1.获取当前时间,并格式化为(年-月-日 时:分:秒)。
Date t = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(df.format(t));
打印输出结果如下图:
2.将java.util.Date转换为java.sql.Date格式。
java.sql.Date sqld = new java.sql.Date(t.getTime());
System.out.println(sqld);
java.sql.Time sqlt = new java.sql.Time(t.getTime());
System.out.println(sqlt);
java.sql.Timestamp sqlts = new java.sql.Timestamp(t.getTime());
System.out.println(sqlts);
打印输出结果如下图:
“拓展资料——java”:
Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,舍弃了容易引起错误的指针,以引用取代;移除了C++中的运算符重载和多重继承特性,用接口取代;增加垃圾回收器功能。
Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
public class Demo001 {
public String formatTime(long time)
{
time = time/ 1000;
String strHour = "" + (time/3600);
String strMinute = "" + time%3600/60;
String strSecond = "" + time%3600%60;
strHour = strHour.length() 2? "0" + strHour: strHour;
strMinute = strMinute.length() 2? "0" + strMinute: strMinute;
strSecond = strSecond.length() 2? "0" + strSecond: strSecond;
String strRsult = "";
if (!strHour.equals("00"))
{
strRsult += strHour + ":";
}
if (!strMinute.equals("00"))
{
strRsult += strMinute + ":";
}
strRsult += strSecond;
return strRsult;
}
public static void main(String[] args) {
Demo001 de = new Demo001();
System.out.println(de.formatTime(60000));
}
}
结果如下:
使用字符串格式化函数就可以了,例如:
SimpleDateFormat dataformat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String datestr= dataformat.format(new Date());
就会输出年、月、日、时、分、秒了
标志符为:
G年代
y 年
M 月
d 日
h 时在上午或下午 (1~12)
H 时在一天中 (0~23)
m 分
s 秒
S 毫秒
E 星期
D 一年中的第几天
F 一月中第几个星期几
w 一年中第几个星期
W 一月中第几个星期
a 上午 / 下午标记符
k 时在一天中 (1~24)
K 时在上午或下午 (0~11)
z 时区
可以使用java中的日期格式化工具java.text.SimpleDateFormat来格式化,以下为示例代码:
1.创建java.text.SimpleDateFormat实例
java.text.SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
参数说明,"yyyy-MM-dd"表示日期的格式,也可以是这样的 yyyy-MM-dd HH:mm:ss注意大小写
2.将Date对象转成字符串
Date date = new Date();
String str = sdf.format(date);
System.out.println(str);
3.将字符串转成Date
String str = "2013-12-12";
Date date = sdf.parse(str);
System.out.prinltn(date);
注意,SimpleDateFormat解析工具,指定的format以后,只能解析指定格式的日期,例如指定了yyyy-MM-dd则不可以再去解析 yyyy-MM-dd HH:mm:ss格式。
按照你的要求编写的java输入时间显示钟表的程序如下:
import java.awt.BorderLayout;import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Clock extends JFrame implements ActionListener{ JLabel jl_hour=new JLabel("时");
JLabel jl_minute=new JLabel("分");
JLabel jl_second=new JLabel("秒");
JTextField jtf_hour=new JTextField(10);
JTextField jtf_minute=new JTextField(10);
JTextField jtf_second=new JTextField(10);
JButton jb_input=new JButton("显示");
JPanel jp_input=new JPanel();
ClockPanel jp_clock=new ClockPanel();
Clock(){
super("Clock");
jb_input.addActionListener(this);
jp_input.add(jtf_hour);jp_input.add(jl_hour);
jp_input.add(jtf_minute);jp_input.add(jl_minute);
jp_input.add(jtf_second);jp_input.add(jl_second);
jp_input.add(jb_input);
add(jp_input,BorderLayout.NORTH);
add(jp_clock,BorderLayout.CENTER);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(600,400);
this.setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new Clock();
}
public void actionPerformed(ActionEvent ae) {
if(ae.getSource()==jb_input){
int Hour=Integer.parseInt(jtf_hour.getText());
int Minute=Integer.parseInt(jtf_minute.getText());
int Second=Integer.parseInt(jtf_second.getText());
jp_clock.setHour(Hour);
jp_clock.setMinute(Minute);
jp_clock.setSecond(Second);
jp_clock.repaint();
}
}
}
class ClockPanel extends JPanel {
private double CenterX,CenterY;
private double Radius=150;
private double HPointX,HPointY,MPointX,MPointY,SPointX,SPointY;
private int Hour,Minute,Second;
private final double PI=3.1415926;
public int getHour() {
return Hour;
}
public void setHour(int hour) {
Hour = hour;
}
public int getMinute() {
return Minute;
}
public void setMinute(int minute) {
Minute = minute;
}
public int getSecond() {
return Second;
}
public void setSecond(int second) {
Second = second;
}
ClockPanel(){
this.Hour=0;
this.Minute=0;
this.Second=0;
}
ClockPanel(int Hour,int Minute,int Second){
this.Hour=Hour;
this.Minute=Minute;
this.Second=Second;
}
public void paintComponent(Graphics g){
super.paintComponent(g);
CenterX=this.getWidth()/2;
CenterY=this.getHeight()/2;
double HRadian=(PI/6)*Hour+(PI/360)*Minute+(PI/21600)*Second;
double MRadian=(PI/30)*Minute+(PI/1800)*Second;
double SRadian=(PI/30)*Second;
HPointX=CenterX+Radius*0.6*Math.sin(HRadian);
HPointY=CenterY-Radius*0.6*Math.cos(HRadian);
MPointX=CenterX+Radius*0.8*Math.sin(MRadian);
MPointY=CenterY-Radius*0.8*Math.cos(MRadian);
SPointX=CenterX+Radius*Math.sin(SRadian);
SPointY=CenterY-Radius*Math.cos(SRadian);
g.drawOval((int)(CenterX-Radius), (int)(CenterY-Radius), (int)(2*Radius),(int)(2*Radius));
g.drawString("12",(int)(CenterX),(int)(CenterY-Radius)+10);
g.drawString("3",(int)(CenterX+Radius)-6 , (int)(CenterY));
g.drawString("6", (int)(CenterX), (int)(CenterY+Radius));
g.drawString("9",(int)(CenterX-Radius), (int)(CenterY));
g.drawLine((int)(CenterX), (int)(CenterY), (int)(SPointX), (int)(SPointY));
g.drawLine((int)(CenterX), (int)(CenterY), (int)(MPointX), (int)(MPointY));
g.drawLine((int)(CenterX), (int)(CenterY), (int)(HPointX), (int)(HPointY));
}
}