获取当前时间的Java代码
我正在获取当前时间的Java代码,java,time,Java,Time,我正在java中搜索代码,以便将本地PC系统时间提取或同步到我的应用程序中。不太清楚您的意思,但您可能只需要 Date d = new Date(); 两者 new java.util.Date() 及 System.currentTimeMillis() 将为您提供当前系统时间。如上所述,您可以使用 Date d = new Date(); 或使用 Calendar.getInstance(); 或者如果你想用毫厘 System.currentTimeMillis() 要获取系统时间,
java
中搜索代码,以便将本地PC系统时间提取或同步到我的应用程序中。不太清楚您的意思,但您可能只需要
Date d = new Date();
两者
new java.util.Date()
及
System.currentTimeMillis()
将为您提供当前系统时间。如上所述,您可以使用
Date d = new Date();
或使用
Calendar.getInstance();
或者如果你想用毫厘
System.currentTimeMillis()
要获取系统时间,请使用Calendar.getInstance().getTime() 您应该每次都获得新的Calendar实例以获得当前时间 要从java代码更改系统时间,您可以使用命令行您可以使用new Date(),它将为您提供当前时间 如果您需要以某种格式表示它(通常您需要这样做),那么使用格式化程序
DateFormat df = DateFormat.getDateTimeInstance (DateFormat.MEDIUM, DateFormat.MEDIUM, new Locale ("en", "EN"));
String formattedDate = df.format (new Date ());
System.currentTimeMillis()
其他一切都是这样的。。例如new Date()调用System.currentTimeMillis()。尝试以下操作:
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class currentTime {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
System.out.println( sdf.format(cal.getTime()) );
}
}
您可以按自己喜欢的方式格式化SimpleDataFormat。有关任何其他信息,请查看java api:
新建日期()。getTime()被安装了错误
Date date = new Date();
System.out.println(date);
System.out.println(date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds());
long t1 = date.getTime();
System.out.println((t1 / 1000 / 60 / 60) % 24 + ":" + (t1 / 1000 / 60) % 60 + ":" + (t1 / 1000) % 60);
long t2 = System.currentTimeMillis();
System.out.println((t2 / 1000 / 60 / 60) % 24 + ":" + (t2 / 1000 / 60) % 60 + ":" + (t2 / 1000) % 60);
它给了我错误的时间毫秒<代码>系统.currentTimeMillis()也是。因为我要求Date实例告诉我相应的时间毫秒,所以它必须返回匹配的时间毫秒,而不是来自不同时区的其他时间毫秒。有趣的是,不推荐的方法是唯一返回正确值的方法。我知道这是一个很老的问题。但我想澄清一下:
Date d = new Date()
在当前版本的Java中,价格降低。建议使用日历对象。例如:
Calendar cal = Calendar.getInstance();
Date currentTime = cal.getTime();
我希望这将有助于将来可能提到这个问题的人。谢谢大家。tl;博士
……或者
ZonedDateTime.now(
// Specify time zone.
ZoneId.of( "Pacific/Auckland" )
)
细节
捆绑的java.util.Date
/.Calendar
类是出了名的麻烦。避开它们。它们现在是遗产,被框架所取代
相反,请使用以下任一选项:
内置Java 8及更高版本。乔达时代的正式继承人。
后端口和
第三方库,开源,免费
java.util.Date date = now.toDate();
投递前搜索StackOverflow。你的问题已经被提出并回答了
关于java.time 该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,& 该项目现已启动,建议迁移到类 要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是 从哪里获得java.time类
- ,及以后
- 内置的李>
- 标准JavaAPI的一部分,带有捆绑实现
- Java9添加了一些次要功能和修复
- 及
- 大部分java.time功能都在中向后移植到Java6和Java7
-
- 更高版本的Android捆绑包实现了java.time类
- 对于早期的Android,该项目采用了ThreeTen Backport(如上所述)。看
该项目使用其他类扩展了java.time。这个项目是java.time将来可能添加的一个试验场。您可以在此处找到一些有用的类,如、、和。尝试使用此方法获取当前日期。您还可以使用getter获取当前小时、分钟和秒:
new Date(System.currentTimeMillis()).get....()
尝试这种方式,效率更高,兼容性更强:
SimpleDateFormat time_formatter = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss.SSS");
String current_time_str = time_formatter.format(System.currentTimeMillis());
//Log.i("test", "current_time_str:" + current_time_str);
为进一步的开发者提供信息,感谢Basil Bourque,我只想把我的石头添加到这个主题中 如果只想获得HH:MM:SS格式,请执行以下操作:
LocalTime hour = ZonedDateTime.now().toLocalTime().truncatedTo(ChronoUnit.SECONDS);
干杯
附言:这将至少在Java8中起作用 试试这个:
final String currentTime = String.valueOf(System.currentTimeMillis());
得票最多的答案已具有日历版本。你的帖子到底增加了什么?是的。但是所有其他的回答者都在谈论这个定价不高的构造函数。只是补充了一点澄清。谢谢。错误:构造函数没有被弃用(从Java8开始)。该类上的其他方法已弃用,但不是该类。实际上,你应该考虑它被贬低,而不是使用java 8中的任何一个或新的。他的问题在09 5月7日之前也回答了很多次吗?@斯基维(A)实际上,是的…(b) 但是,我没有注意到问题的年龄。无需调用cal.getTime()方法2次,它可以在格式化日期后分配给string,如下所示…….SimpleDateFormat sdf=new SimpleDateFormat(“HH:mm:ss”);字符串loginTime=sdf.format(cal.getTime());仅供参考,这里使用的麻烦类现在是遗留类,被java.time类所取代。对于懒惰类(oneliner,无需导入,只需复制粘贴):
new java.text.simpleDataFormat(“HH:mm:ss”).format(java.util.Calendar.getInstance().getTime())
我非常怀疑你所说的bug。当然,除非您的系统时钟设置不正确。
java.util.Date date = now.toDate();
new Date(System.currentTimeMillis()).get....()
SimpleDateFormat time_formatter = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss.SSS");
String current_time_str = time_formatter.format(System.currentTimeMillis());
//Log.i("test", "current_time_str:" + current_time_str);
LocalTime hour = ZonedDateTime.now().toLocalTime().truncatedTo(ChronoUnit.SECONDS);
final String currentTime = String.valueOf(System.currentTimeMillis());