当我创建一个新Date对象时,它会初始化为当前时间但在本地时区.如何获得GMT中的当前日期和时间?
我正在添加这个问题,因为我是Java和Android的新手,我搜索了几个小时试图解决这个问题.答案来自相关答案的组合,所以我想我会记录我为其他可能正在努力的人学到的东西.见答案.
对于一些背景知识,我的经验主要是PHP的Web开发和一点Ruby.我唯一的操作系统是Linux(Ubuntu Studio),我(不情愿地)在Android Studio 2.1.2中开发我的第一个Android应用程序.我的Java设置如下:
>java -version
> openjdk version "1.8.0_91"
> OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-3ubuntu1~15.10.1-b14)
> OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
Run Code Online (Sandbox Code Playgroud) datetime android android-gradle-plugin threetenbp threetenabp
获取当前UTC时间的功能是什么.我尝试过System.getCurrentTime,但我得到了设备的当前日期和时间.
谢谢
我需要格式化日期和时间格林威治标准时间2012年11月15日18:55.
时间应该是GMT和24小时格式.我尝试使用以下代码,但它以12小时格式给出时间.有什么办法吗?
DateFormat currentDateTimeString = DateFormat.getDateTimeInstance();
currentDateTimeString.setTimeZone(TimeZone.getTimeZone("gmt"));
gmtTime = currentDateTimeString.format(new Date());
Run Code Online (Sandbox Code Playgroud) 我希望当前日期在GMT明智的时区.我使用以下代码.
public static Date getGMTDate(String dateFormat) throws ParseException
{
SimpleDateFormat dateFormatGmt = new SimpleDateFormat(dateFormat);
dateFormatGmt.setTimeZone(TimeZone.getTimeZone("GMT"));
// Local time zone
SimpleDateFormat dateFormatLocal = new SimpleDateFormat(dateFormat);
// Time in GMT
return dateFormatLocal.parse(dateFormatGmt.format(new Date()));
}
Run Code Online (Sandbox Code Playgroud)
//调用上面的函数.
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
date = getGMTDate("yyyy-MM-dd HH:mm:ss");
Run Code Online (Sandbox Code Playgroud)
当我更改设备日期时,时间以GMT格式显示,但日期不显示在GMT时区中.显示设备的日期.但我想要当前的GMT日期.
android ×4
datetime ×3
java ×3
gmt ×2
date ×1
localization ×1
threetenabp ×1
threetenbp ×1
time ×1
timezone ×1
utc ×1