请帮我看一下java取系统时间的代码

yao450860487 2008-12-21 07:59:05

<html>
<body>
<applet code="Clock.class" width="300",height="300">
</applet>
</body>
</html>

/**
* @(#)Clock.java
*
*
* @author
* @version 1.00 2008/12/21
*/
import javax.swing.*;
import java.util.Date;

public class Clock extends java.applet.Applet {

/** Initialization method that will be called after the applet is loaded
* into the browser.
*/
public void init() {
Mytime time=new Mytime(0,0,0);

JPanel panel=new JPanel();
String s=time.getMyTime();
JLabel label=new JLabel(s);
add(label);

}

}


class Mytime extends Date
{
public Mytime(int h,int m,int s)
{
hours=h;
minutes=m;
seconds=s;
}
public String getMyTime()
{
hours=getHours();
minutes=getMinutes();
seconds=getSeconds();

return hours+":"+minutes+":"+seconds;

}

protected int hours, minutes, seconds;

}

在其他人机子上就能取出正确时间,我机子上取的时间却了错,请问是不是电脑上有病毒,还是本身系统时间有问题(但在桌面显示的时间又是正确的)
...全文
1367 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
清水无语1 2009-01-10
  • 打赏
  • 举报
回复
同意三楼
海诗美妆 2009-01-09
  • 打赏
  • 举报
回复
用Calendar
直接getInstance()就可以了。
likgui 2009-01-08
  • 打赏
  • 举报
回复
学习了
xql80329 2009-01-05
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 nicholasmars 的回复:]
按格式取时间

Java code
Calendar c1=Calendar.getInstance();
SimpleDateFormat f1=new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
String time=f1.format(c1.getTime());
[/Quote]
up
caironghuicxz 2009-01-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 swoky 的回复:]
这几个方法都过时了,最好不要用
还是用文档上的方法吧
int getHours()
Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.HOUR_OF_DAY).
int getMinutes()
Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.MINUTE).
......
[/Quote]
顶顶
nicholasmars 2009-01-01
  • 打赏
  • 举报
回复
按格式取时间

Calendar c1=Calendar.getInstance();
SimpleDateFormat f1=new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
String time=f1.format(c1.getTime());
weatherspoon 2009-01-01
  • 打赏
  • 举报
回复
现在都用Calendar类了,Date已经不用了。
诗人的咸鱼 2009-01-01
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 pdw2009 的回复:]
long time=java.lang.System.currentTimeMillis(); //这个方法就可以获得当前时间的
date date=new Date(time);

这样就OK了
[/Qu就是啊 这个多好啊哈!
pxcong007 2008-12-31
  • 打赏
  • 举报
回复
        long time = System.currentTimeMillis();
Date date1 = new Date(time);


Calendar calendar = Calendar.getInstance();

Date date2 = calendar.getTime();
pdw2009 2008-12-29
  • 打赏
  • 举报
回复
long time=java.lang.System.currentTimeMillis(); //这个方法就可以获得当前时间的
date date=new Date(time);

这样就OK了
joynet007 2008-12-26
  • 打赏
  • 举报
回复
Calendar 现在都是用!!
Calendar c = Calendar.getInstance();
System.out.println("小时="+c.get(Calendar.HOUR_OF_DAY));
System.out.println("分钟="+c.get(Calendar.MINUTE));
System.out.println("秒钟="+c.get(Calendar.SECOND));


windy731 2008-12-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 spiniper 的回复:]
直接new一个Date对象出来不就是系统时间了么,不明白你为什么要继承Date对象来重写构造方法。
[/Quote]

同感
dreamno 2008-12-22
  • 打赏
  • 举报
回复
用Calendar 吧。
方法
getInstance
public static synchronized Calendar getInstance()

用缺省时区和语言环境获得一个日历。

返回值:
一个 Calendar。
getInstance
public static synchronized Calendar getInstance(TimeZone zone)

用给定时区和缺省语言环境获得一个日历。

参数:
zone - 给定的时区。
返回值:
一个 Calendar。
getInstance
public static synchronized Calendar getInstance(Locale aLocale)

用缺省时区和给定语言环境获得一个日历。

参数:
aLocale - 给定的语言环境。
返回值:
一个 Calendar。
getInstance
public static synchronized Calendar getInstance(TimeZone zone,
Locale aLocale)

用给定时区和给定语言环境获得一个日历。

参数:
zone - 给定的时区。
aLocale - 给定的语言环境。
返回值:
一个 Calendar。
getAvailableLocales
public static synchronized Locale[] getAvailableLocales()

获得安装 Calendars 的语言环境集合。

返回值:
安装 Calendars 的语言环境集合。
computeTime
protected abstract void computeTime()

将日历的时间域作为毫秒值转换为 UTC。

computeFields
protected abstract void computeFields()

将 UTC 作为毫秒值转换为时间域值。 允许使时间域值与日历设置的新时间同步。 开始不重新计算该时间;为了重新计算时间和域,调用 complete 方法。

参见:
complete
getTime
public final Date getTime()

获得日历的当前时间。

返回值:
当前的时间。
setTime
public final void setTime(Date date)

用给定的 Date 设置 Calendar 的当前时间。

参数:
date - 给定的 Date。
getTimeInMillis
protected long getTimeInMillis()

获得日历的作为长整型的当前时间。

返回值:
当前时间,作为从开始时间的 UTC 毫秒值。
setTimeInMillis
protected void setTimeInMillis(long millis)

用给定的长整数设置 Calendar 的当前时间。

参数:
date - 新时间,从开始时间的 UTC 毫秒时间。
get
public final int get(int field)

获得给定时间域的值。

参数:
field - 给定的时间域。
返回值:
给定的时间域值。
internalGet
protected final int internalGet(int field)

获取给定时间域的值。 这是子类的一个内部快速时间域值 getter。

参数:
field - 给定的时间域。
返回值:
给定的时间域值。
set
public final void set(int field,
int value)

用给定的值设置时间域。

参数:
field - 给定的时间域。
value - 要设置的给定时间域的值。
set
public final void set(int year,
int month,
int date)

设置年、月、日期域的数值。 保留其它域上次的值。 如果不需要保留,首先调用 clear。

参数:
year - 用于设置 YEAR 时间域的值。
month - 用于设置 MONTH 时间域的值。 Month 值以 0 开始。 例如,0 代表一月。
date - 用于设置 DATE 时间域的值。
set
public final void set(int year,
int month,
int date,
int hour,
int minute)

设置年、月、日期、时和分域的数值。 保留其它域上次的值。 如果不需要保留,首先调用 clear。

参数:
year - 用于设置 YEAR 时间域的值。
month - 用于设置 MONTH 时间域的值。 Month 值以 0 开始。 例如,0 代表一月。
date - 用于设置 DATE 时间域的值。
hour - 用于设置 HOUR 时间域的值。
minute - 用于设置 MINUTE 时间域的值。
set
public final void set(int year,
int month,
int date,
int hour,
int minute,
int second)

设置年、月、日期、时、分和秒域的数值。 保留其它域上次的值。 如果不需要保留,首先调用 clear。

参数:
year - 用于设置 YEAR 时间域的值。
month - 用于设置 MONTH 时间域的值。 Month 值以 0 开始。 例如,0 代表一月。
date - 用于设置 DATE 时间域的值。
hour - 用于设置 HOUR 时间域的值。
minute - 用于设置 MINUTE 时间域的值。
second - 用于设置 SECOND 时间域的值。
clear
public final void clear()

将所有时间域值清零。

clear
public final void clear(int field)

将给定的时间域值清零。

参数:
field - 要清零的时间域。
isSet
public final boolean isSet(int field)

确定给定的时间域是否设置了数值。

返回值:
如果给定的时间域设置了数值则返回 true;否则返回 false。
complete
protected void complete()

填充时间域列表中所有未设置的域。

equals
public abstract boolean equals(Object obj)

比较该日历和指定的对象。 当且仅当参数不为 null 而是与该对象描述同一日历的 Calendar 对象,结果为 true。

参数:
obj - 比较的对象。
返回值:
如果对象相同则为 true,否则为 false。
覆盖:
类 Object 中的 equals
before
public abstract boolean before(Object when)

比较时间域记录。 等价于比较转换到 UTC 的结果。

参数:
when - 与该 Calendar 比较的 Calendar。
返回值:
如果当前时间在 Calendar when 的时间之前则为 true;否则为 false。
after
public abstract boolean after(Object when)

比较时间域记录。 等价于比较转换到 UTC 的结果。

参数:
when - 与该 Calendar 比较的 Calendar。
返回值:
如果该日历的当前时间在 Calendar when 的时间之后则为 true;否则为 false。
add
public abstract void add(int field,
int amount)

日期的计算功能。 按照日历的规则,将指定 ( 带符号的 ) 数量的时间添加到给定的时间域。 例如,从日历的当前时间减 5 ,可调用:
add(Calendar.DATE, -5)。


参数:
field - 时间域。
amount - 添加到该域的日期和时间的数量。
roll
public abstract void roll(int field,
boolean up)

时间域滚动功能。 在给定的时间域上 ( 向上 / 向下 ) 滚动一个单个的时间单元。 例如,为了将当前日期向上滚动一天,可调用:
roll(Calendar.DATE, true)。 当在年或 Calendar.YEAR 域滚动时,年值将在 1 和调用 getMaximum(Calendar.YEAR) 的返回值之间滚动。 当在月或 Calendar.MONTH 域滚动时,其它的域,例如日期,可能会发生冲突需要改变。 例如,将日期 01/31/96 滚动一月结果是 03/02/96。 当在小时域或 Calendar.HOUR_OF_DAY 域滚动,小时值将在范围 0 到 23 之间滚动,它以 0 开始。


参数:
field - 时间域。
up - 指明指定时间域值向上还是向下滚动。 如果向上滚动用 true ,否则用 false。
setTimeZone
public void setTimeZone(TimeZone value)

用给定的时区值设置时区。

参数:
value - 给定的时区。
getTimeZone
public TimeZone getTimeZone()

获得时区。

返回值:
与日历相应的时区对象。
setLenient
public void setLenient(boolean lenient)

指明对日期/时间的解释是否是宽松的。 在宽松的解释下,一个诸如 "February 942, 1996" 的日期将被看作与1996 年 2 月后的第 941 天等价。 在严格的解释下,这样的日期将引起抛出异常。

参见:
setLenient
isLenient
public boolean isLenient()

指明对日期/时间的解释是否是宽松的。

setFirstDayOfWeek
public void setFirstDayOfWeek(int value)

设置一周的第一天;例如在美国为 Sunday,在法国为 Monday。

参数:
value - 一周给定的第一天。
getFirstDayOfWeek
public int getFirstDayOfWeek()

获得一周的第一天;例如在美国为 Sunday,在法国为 Monday。

返回值:
一周的第一天。
setMinimalDaysInFirstWeek
public void setMinimalDaysInFirstWeek(int value)

设置该年中第一个星期所需要的最少的天数,例如,如果定义第一个星期包含一年第一个月的第一天,用值 1 调用该方法。如果它必须是一个完整的星期,使用 7 调用该方法。

参数:
value - 给定的一年中第一个星期要求的最少天数。
getMinimalDaysInFirstWeek
public int getMinimalDaysInFirstWeek()

获得该年中第一个星期所需要的最少的天数,例如,如果第一个星期定义为包含一年第一个月的第一天,getMinimalDaysInFirstWeek 返回 1。如果要求的最少天数必须是一个完整的星期,getMinimalDaysInFirstWeek 返回 7。

返回值:
一年中第一个星期要求的最少天数。
getMinimum
public abstract int getMinimum(int field)

获得给定时间域最小值。 例如对于格里高里 DAY_OF_MONTH 为 1。

参数:
field - 给定的时间域。
返回值:
给定时间域最小值。
getMaximum
public abstract int getMaximum(int field)

获得给定时间域最大值。 例如对于 Gregorian DAY_OF_MONTH 为 31。

参数:
field - 给定的时间域。
返回值:
给定时间域最大值。
getGreatestMinimum
public abstract int getGreatestMinimum(int field)

获得给定域变化时的最高的最小值。 否则与 getMinimum() 相同。对格里高里日历没有区别。

参数:
field - 给定的时间域。
返回值:
给定时间域最高的最小值。
getLeastMaximum
public abstract int getLeastMaximum(int field)

获得给定域变化时的最低的最大值。 否则与 getMaximum() 相同。例如对于格里高里日历 DAY_OF_MONTH 为 28。

参数:
field - 给定的时间域。
返回值:
定时间域最低的最大值。
zhaolinger2 2008-12-22
  • 打赏
  • 举报
回复
现在都用calendar类了
swoky 2008-12-21
  • 打赏
  • 举报
回复
这几个方法都过时了,最好不要用
还是用文档上的方法吧
int getHours()
Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.HOUR_OF_DAY).
int getMinutes()
Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.MINUTE).
......
landyshouguo 2008-12-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 spiniper 的回复:]
直接new一个Date对象出来不就是系统时间了么,不明白你为什么要继承Date对象来重写构造方法。
[/Quote]顶
树成 2008-12-21
  • 打赏
  • 举报
回复
直接new一个Date对象出来不就是系统时间了么,不明白你为什么要继承Date对象来重写构造方法。
随着元宇宙概念兴起与虚拟数字人技术快速发展,虚拟主播、在线教育虚拟助教、元宇宙社交等应用场景对实时动作表情驱动系统提出更高需求。当前主流动作捕捉方案多依赖专业光学动捕设备或深度相机,设备成本高昂、部署复杂,难以在普通用户场景普及。本研究设计并实现一套基于普通单目摄像头的虚拟数字人实时动作表情驱动系统,旨在降低数字人内容生产门槛。系统采用Unity作为主开发引擎,结合Blender进行数字人模型构建与BlendShape表情系统制作,使用MediaPipe框架实现人脸关键点检测与人体姿态估计,通过C#脚本完成实时数据处理与渲染控制。系统包含五个关键模块:人脸关键点检测(MediaPipe Face Mesh提468个关键点)、人体姿态估计(MediaPipe Pose识别33个骨骼关键点)、表情迁移映射、动作平滑优化(卡尔曼滤波与贝塞尔曲线插值消除抖动)、实时渲染(60fps流畅渲染,支持直播推流与视频录制)。实验结果表明,系统在普通笔记本上可实现60fps实时驱动,人脸关键点检测准确率达98.7%,人体姿态估计平均误差小于5像素,表情迁移相似度达92.3%。 【课程报告内容】 摘要 第1章 绪论 第2章 相关技术与理论基础 第3章 系统架构设计 第4章 关键模块设计与实现 第5章 实验与结果分析 第6章 总结与展望 参考文献
内容概要:本文提出了一种基于蒙特卡洛模拟与拉格朗日松弛法的分散式优化策略,用于解决电动汽车充电站在分时电价机制下的有序充电调度问题。通过蒙特卡洛方法模拟电动汽车充电行为的随机性,生成多样化负荷场景,构建以降低电网负荷波动和用户充电成本为目标的优化模型;采用拉格朗日松弛法对耦合约束进行解耦,实现分布式求解,在保障用户隐私的同时提升计算效率。文中设计了详细的仿真场景,系统分析了该调度策略对电网负荷特性和用户经济性的影响,验证了所提方法在实际应用中的有效性与可行性。; 适合人群:具备电力系统运行、优化算法理论及Matlab编程能力的研究生、科研人员以及从事智能电网与电动汽车相关领域的工程技术人员。; 使用场景及目标:①应用于城市规模化充电站集群的有序充电管理,实现电网“削峰填谷”;②为电力公司制定科学合理的分时电价政策提供量化分析工具;③支撑智能电网中需求侧资源的分布式协同优化调度研究与系统设计。; 阅读建议:建议结合提供的Matlab代码深入理解算法实现流程,重点掌握蒙特卡洛场景生成机制与拉格朗日松弛迭代求解过程,可通过调整参数设置复现不同工况下的仿真结果,以深化对分散式优化机制与调度效果之间关系的理解。
内容概要:本文研究了基于阶跃响应的V-Tiger自动增益调整PID控制器优化方法,并提供了完整的Matlab代码实现。通过深入分析PID控制的核心性能指标与V-Tiger控制器的动态特性,提出了一种融合阶跃响应特征提与多目标协同优化的自动整定方案,设计了具备自适应迭代校正能力的优化机制,有效提升了控制系统的响应速度、稳定性和抗干扰能力。文中系统阐述了整定原理、算法架构设计及性能验证流程,通过仿真实验充分验证了该方法在复杂工业控制场景下实现高精度参数自整定的可行性与优越性,为智能PID控制提供了可复现、可拓展的技术路径。; 适合人群:具备自动控制理论基础和Matlab编程能力,从事控制工程、自动化、电气工程等领域研究的研发人员及高校研究生。; 使用场景及目标:①应用于需要高精度PID参数整定的工业控制系统中,如电机驱动、温度控制、电力电子变换器等;②为科研人员提供一种可复现、可扩展的智能PID整定方法,用于提升系统动态性能与鲁棒性;③作为教学案例助学生理解PID整定原理与现代优化算法的融合应用。; 阅读建议:建议读者结合文中的Matlab代码逐模块运行与调试,重点关注阶跃响应特征提与增益优化策略的实现逻辑,同时可尝试将其应用于实际控制系统中进行对比验证,以深化对自动整定机制的理解。

62,622

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧