在Java中获取当前日期/时间的最佳方法是什么?
当前回答
你看过java.util.Date吗?这正是你想要的。
其他回答
Use:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy:MM:dd::HH:mm:ss");
System.out.println(sdf.format(System.currentTimeMillis()));
print语句将打印调用它的时间,而不是创建SimpleDateFormat的时间。因此,可以在不创建任何新对象的情况下重复调用它。
看看Date课程。还有一个更新的Calendar类,它是执行许多日期/时间操作的首选方法(许多date方法已被弃用)
如果您只想要当前日期,那么创建一个新的date对象或调用Calendar.getInstance();。
我会继续回答这个问题,因为当我有同样的问题时,这就是我所需要的:
Date currentDate = new Date(System.currentTimeMillis());
currentDate现在是Java date对象中的当前日期。
如前所述,基本的Date()可以根据需要获取当前时间。在我最近大量使用Java Date的经验中,内置类有很多奇怪之处(以及许多Date类方法的弃用)。我觉得有一个奇怪的地方是,月份是基于0指数的,从技术角度来看,这是合理的,但实际情况可能非常令人困惑。
如果你只关心当前的日期,那就足够了——然而,如果你打算用日期进行大量的操作/计算,那么使用第三方库可能会非常有益(因为很多Java开发人员对内置功能不满意,所以有很多这样的库)。
我支持Stephen C的建议,因为我发现Joda time对简化我的日期工作非常有用,它也有很好的文档记录,你可以在整个网站上找到许多有用的例子。我甚至最终编写了一个静态包装类(作为DateUtils),我使用它来合并和简化所有常见的日期操作。
首先了解java.util.Date类
1.1如何获取当前日期
import java.util.Date;
class Demostration{
public static void main(String[]args){
Date date = new Date(); // date object
System.out.println(date); // Try to print the date object
}
}
1.2如何使用getTime()方法
import java.util.Date;
public class Main {
public static void main(String[]args){
Date date = new Date();
long timeInMilliSeconds = date.getTime();
System.out.println(timeInMilliSeconds);
}
}
这将返回自1970年1月1日00:00:00 GMT以来的毫秒数,用于时间比较。
1.3如何使用SimpleDateFormat类设置时间格式
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
class Demostration{
public static void main(String[]args){
Date date=new Date();
DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
String formattedDate=dateFormat.format(date);
System.out.println(formattedDate);
}
}
也可以尝试使用不同的格式模式,如“yyyy-MM-dd hh:MM:ss”,并选择所需的模式。http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
了解java.util.Calendar类
2.1使用日历类获取当前时间戳
import java.util.Calendar;
class Demostration{
public static void main(String[]args){
Calendar calendar=Calendar.getInstance();
System.out.println(calendar.getTime());
}
}
2.2尝试使用setTime和其他设置方法将日历设置为不同的日期。
资料来源:http://javau91.blogspot.com/