如何从日期中获取时钟[重复]
Posted
技术标签:
【中文标题】如何从日期中获取时钟[重复]【英文标题】:How to get clock from a date [duplicate] 【发布时间】:2018-10-30 17:29:21 【问题描述】:我有Date
这样的Sun May 20 09:18:44 GMT+04:30 2018
我如何从这个Date
获得时钟,
我想要这样的结果09:18 am
Log.v(TAG,"date "+ date.toString());// output is Sun May 20 09:18:44 GMT+04:30 2018
SimpleDateFormat sdf=new SimpleDateFormat("hh:mm");
String time=sdf.format(date);//NullPointerException
【问题讨论】:
在你初始化日期变量的地方发布代码。date
是如何初始化的?
添加Date date=new Date();
我也无法复制。 date
在Log.v
行中显然是非空的,然后我无法得到任何NullPointerException
。如需帮助,请create a Minimal, Complete, and Verifiable example。
顺便考虑扔掉长期过时且臭名昭著的麻烦SimpleDateFormat
和朋友,并将ThreeTenABP添加到您的android项目中,以便使用java.time
,现代Java日期和时间API .使用起来感觉好多了。
【参考方案1】:
您的代码正在运行,您只需初始化 Date 类的对象 日期 date = new Date();
Date date = new Date();
Log.v(TAG,"date "+ date.toString());
SimpleDateFormat sdf=new SimpleDateFormat("hh:mm");
String time=sdf.format(date);
Log.v(TAG,"date "+ time);
【讨论】:
【参考方案2】:试试这个代码..
SimpleDateFormat sdf3 = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);
SimpleDateFormat sdf4 = new SimpleDateFormat("hh:mm", Locale.ENGLISH);
Date d1 = null;
try
d1 = sdf3.parse("Sun May 20 09:18:44 GMT+04:30 2018");
String date=sdf4.format(d1);
System.out.println("time..." + date);
catch (Exception e) e.printStackTrace();
System.out.println("check..." + d1);
【讨论】:
以上是关于如何从日期中获取时钟[重复]的主要内容,如果未能解决你的问题,请参考以下文章