Java:以“hh:MM:ss a”格式获取时间[重复]
Posted
技术标签:
【中文标题】Java:以“hh:MM:ss a”格式获取时间[重复]【英文标题】:Java: Get time in "hh:MM:ss a" format [duplicate] 【发布时间】:2019-11-15 00:00:21 【问题描述】:我正在构建一个 android 应用程序,我在我的项目中使用 Date
类来获取当前日期。我用simpledateformatter
格式化了日期并将其显示为dd-mm-yyyy
(即日月年)。
现在我还想以hh:MM:ss a
格式获取时间(时分秒 AM/PM)
当我使用日期的实例时,我看到它也显示日期和时间(默认格式)。所以我试图从日期的实例中获取时间。(假设 d 是日期类实例)。我还找到了日期类的getTime()
方法并执行了d.getTime()
,但它返回给我很长的时间(这是从过去到当前时间的某个固定时间的持续时间)。现在我想要所需格式的时间,但这个 getTime()
方法给了我很长时间。
您能否提供一些方法来处理这个长值以从中获得所需的时间格式。例如,d.getTime()
给我返回一些值(比如 11233),我想要这样的格式(11:33:22)。
【问题讨论】:
粘贴一些代码 如果您开始使用 Date,最好使用 JSR-310 backport for Android 而不是 Date。 不要使用Date
和SimpleDateFormat
,因为它们陈旧且设计不佳。使用 java.time,现代 Java 日期和时间 API。如果还没有达到 API 级别 26,那么通过 @ישואוהבאותך 提到的反向端口。
【参考方案1】:
你可以做到的
private final String DATE_FORMAT = "dd.MM.yyyy HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
Date got = sdf.parse(date);
它会向您返回带有时间的日期
【讨论】:
但是我想从中提取时间而不是日期,那我应该这样做吗? 虽然我可以把它变成字符串并且可以从中提取时间。但是,像这样提取它会是一个好的决定吗? @ArjunSharma 你需要Time
还是String
?或者您想获得哪种类型的时间?
对不起,我有点糊涂了!我想先知道一件事,我有一个显示时间的按钮。当我按下该按钮时,它会显示时间选择器对话框并显示先前设置的时间。现在,如果某些更改时间,我想将其存储并显示在时间按钮上。我应该使用哪种类型的时间?【参考方案2】:
使用此 sn-p 获取 date
和 time
两者。
public String currentDateTime()
Calendar c = Calendar.getInstance();
SimpleDateFormat dateformat = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss aa"); //it will give you the date in the formate that is given in the image
String datetime = dateformat.format(c.getTime()); // it will give you the date
return datetime;
注意:请看图片。
【讨论】:
如果我只需要时间,那么我可以将其设为字符串,然后将时间作为子字符串提取出来,对吧?【参考方案3】:Date().getTime() 为您提供时间戳
将格式更改为您的要求,例如mm:hh:ss a
科特林
fun getDateTime():String
val inputFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.getDefault())
val date = Date()
return inputFormat.format(date.time)
JAVA
private String getDateTime()
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.getDefault());
return format.format(new Date().getTime());
【讨论】:
以上是关于Java:以“hh:MM:ss a”格式获取时间[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在Java中以字符串格式获取当前时间戳? “yyyy.MM.dd.HH.mm.ss”
使用 BigQuery REST 或 Java API 运行查询以获取 JSON 输出格式
(Java / Android) 计算两个日期之间的天数并以特定格式呈现结果