我正在添加这个问题,因为我是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
刚刚在我的Windows(8)工作站和AIX上测试了这段代码:
public static void main(String[] args) {
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS").format(new Date()));
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS").format(new Date()));
}
Run Code Online (Sandbox Code Playgroud)
并得到类似的结果:
2013-10-07 12:53:26.000905
2013-10-07 12:53:26.000906
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下,如果不是微秒,最后的数字是什么?
注意:我与DB2数据库交互,其中使用定时列作为TIMESTAMP存储按时间顺序排列的数据,其中6位数字在秒之后,即微秒(IMO).但是所有这些"时间戳"都是通过请求以下查询来创建的:
SELECT current timestamp as currenttimestamp FROM Table ( values (1)) temp
Run Code Online (Sandbox Code Playgroud)
我想知道,鉴于上述结果,我不能只使用我的代码new Date()而不是current timestamp从数据库中选择.
谢谢.
PS:我搜索但发现没有相关(已回答)的问题,例如: java中的当前时间(以微秒为单位) 或 以小时,分钟,秒,毫秒,微秒获取时间
我正在努力使用日期字符串,我需要解析java'Date'对象.这是我到目前为止所得到的:
try {
String value = "2017?-?11?-?23T14:00:49.184000000Z";
String pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSS'Z'";
SimpleDateFormat parser = new SimpleDateFormat(pattern);
Date date = parser.parse(value);
} catch (ParseException e) {e.printStackTrace();}
Run Code Online (Sandbox Code Playgroud)
它目前抛出一个ParseException " Unparseable date ",我无法让它工作.
任何帮助都非常感谢!
谢谢