在java中怎么获取北京时间

2024-11-12 04:26:54
推荐回答(5个)
回答1:

  一般情况可以用直接用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 HH:mm:ss");
        String dateString = dateFormat.format(date);
        System.out.println(dateString);
    }
}

  导入包的时候Date类是java.util下的Date类,java.util.Date;

回答2:

java.util.Locale locale=java.util.Locale.CHINA;
String pattern = "yyyy-MM-dd kk:mm:ss zZ";
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat(pattern,locale);
java.util.Date date = new java.util.Date();
String bjTime = df.format(date);
System.out.println("北京时间:"+bjTime);

//输出:
//北京时间:2009-01-01 15:04:36 CST+0800

回答3:

Calendar date=Calendar.getInstance();
int year=date.get(Calendar.YEAR);
int month=date.get(Calendar.MONTH);
month++;
int day=date.get(Calendar.DAY_OF_MONTH);
int hour=date.get(Calendar.HOUR_OF_DAY);
int minute=date.get(Calendar.MINUTE);
int second=date.get(Calendar.SECOND);
String AddDate=year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second;

希望可以帮助你

回答4:

直接创建对象调用系统时间就行了

回答5:

System.out.println(new Date());