在java中怎么获取北京时间

来源:百度知道 编辑:UC知道 时间:2024/06/16 00:14:58
在java中怎么获取北京时间,不是格林威治时间
不是格林威治时间
不是格林威治时间
获取时间的时候总是跟系统时间相差8小时

  一般情况可以用直接用Date类,例如:

  Date date = new Date(System.currentTimeMillis()); System.out.println(date);先用System.currentTimeMillis()是得到系统当前时间。然后输出就可以了。

  但是如果要更加准确的话,最好用Calendar类,因为可能用你的程序的系统不是中国的,用Date date = new Date(System.currentTimeMillis())得到的就是不是北京时间了。所以可以用Calendar calendar = Calendar.getInstance(Locale.CHINA);

  还可以用SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");来格式化时间。下面是一个简单的实例:

public class GetTime
{
    public static void main(String[] args)
    {
        Calendar calendar = Calendar.getInstance(Locale.CHINA);
        Date date = calendar.getTime();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd