如何在 android 中将数字转换为小时和分钟
How to convert number to hour and minute in android
在我的应用程序中,我应该显示小时和分钟,我从 服务器 获得了这个数字和这个示例:
Json :
{
data:{
time:84561
}
}
我应该从 time 得到这个 number 并用这种格式显示它
**hh : mm : ss**
我可以得到次数,但我无法将其转换为 **hh : mm : ss**
。
怎么办?
传递您的数字或时间戳并将小时和minute.use以下代码转换为毫秒。
public static String getCurrentTimeStamp(String mCurrentTime) {
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy hh:mm a z");
TimeZone tz = TimeZone.getDefault();
format.setTimeZone(tz);
// System.out.println("TimeZone "+tz.getDisplayName(false, TimeZone.SHORT)+" Timezon id :: " +tz.getID());
SimpleDateFormat dateParser = new SimpleDateFormat("dd/MM/yyyy hh:mm a z");
Date dateTime = null;
try {
dateTime = dateParser.parse(format.format(Long.parseLong((mCurrentTime)) * 1000));
Log.e("Starttime", "Starttime" + format.format(dateTime));
return format.format(dateTime);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
long timeSec= 84561;// Json output
int hours = (int) timeSec/ 3600;
int temp = (int) timeSec- hours * 3600;
int mins = temp / 60;
temp = temp - mins * 60;
int secs = temp;
String requiredFormat = hours+ ": "+mins+": "+secs;//hh:mm:ss formatted string
试试这个逻辑 按要求使用它
public class Test {
public static void main(String[] args) {
String json = "{\n" +
" data:{\n" +
" time:84561\n" +
" }\n" +
"}";
Date date = new Gson().fromJson(json, Date.class);
long milli = date.getTime() * 1000;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");
System.out.println(simpleDateFormat.format(new java.util.Date(milli)));
}
class Date implements Serializable{
int time;
public int getTime() {
return time;
}
public void setTime(int time) {
this.time = time;
}
}
输出
05:30:00
If you want to download Gson jar download it from
Java 9 个回答
Duration time = Duration.ofSeconds(87561);
String hms = String.format("%02d : %02d : %02d",
time.toHoursPart(),
time.toMinutesPart(),
time.toSecondsPart());
不幸的是 Java 8 Duration
不适合格式化。我在代码片段中使用的方法在 Java 9 中介绍,并将计算 hh、mm 和 ss 的值。然后 String.format()
完成剩下的工作。
我知道你不能在 Andriod 上使用它(目前),但我想让这个答案站在这里供现在或将来可以使用 Java 9 的其他人使用。
很简单
如果这是 unix 时间,那么将使用此代码段将其转换为人类可读的时间格式。
String relavtiveTimeString = String.valueOf(DateUtils.getRelativeTimeSpanString(unixTime));
您可以使用 new Date(unix);
并通过以下功能获取格式化日期。您可以使用不同的样式进行格式化。
//This mehtod convert the date into standard date like : 2017-12-23
public static String getformateDate(Date dateObject) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
return dateFormat.format(dateObject);
}
有关详细信息,请查看此 link 已回答:
Convert unix time stamp to date in java
参考:
在我的应用程序中,我应该显示小时和分钟,我从 服务器 获得了这个数字和这个示例:
Json :
{
data:{
time:84561
}
}
我应该从 time 得到这个 number 并用这种格式显示它
**hh : mm : ss**
我可以得到次数,但我无法将其转换为 **hh : mm : ss**
。
怎么办?
传递您的数字或时间戳并将小时和minute.use以下代码转换为毫秒。
public static String getCurrentTimeStamp(String mCurrentTime) {
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy hh:mm a z");
TimeZone tz = TimeZone.getDefault();
format.setTimeZone(tz);
// System.out.println("TimeZone "+tz.getDisplayName(false, TimeZone.SHORT)+" Timezon id :: " +tz.getID());
SimpleDateFormat dateParser = new SimpleDateFormat("dd/MM/yyyy hh:mm a z");
Date dateTime = null;
try {
dateTime = dateParser.parse(format.format(Long.parseLong((mCurrentTime)) * 1000));
Log.e("Starttime", "Starttime" + format.format(dateTime));
return format.format(dateTime);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
long timeSec= 84561;// Json output
int hours = (int) timeSec/ 3600;
int temp = (int) timeSec- hours * 3600;
int mins = temp / 60;
temp = temp - mins * 60;
int secs = temp;
String requiredFormat = hours+ ": "+mins+": "+secs;//hh:mm:ss formatted string
试试这个逻辑 按要求使用它
public class Test {
public static void main(String[] args) {
String json = "{\n" +
" data:{\n" +
" time:84561\n" +
" }\n" +
"}";
Date date = new Gson().fromJson(json, Date.class);
long milli = date.getTime() * 1000;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");
System.out.println(simpleDateFormat.format(new java.util.Date(milli)));
}
class Date implements Serializable{
int time;
public int getTime() {
return time;
}
public void setTime(int time) {
this.time = time;
}
}
输出
05:30:00
If you want to download Gson jar download it from
Java 9 个回答
Duration time = Duration.ofSeconds(87561);
String hms = String.format("%02d : %02d : %02d",
time.toHoursPart(),
time.toMinutesPart(),
time.toSecondsPart());
不幸的是 Java 8 Duration
不适合格式化。我在代码片段中使用的方法在 Java 9 中介绍,并将计算 hh、mm 和 ss 的值。然后 String.format()
完成剩下的工作。
我知道你不能在 Andriod 上使用它(目前),但我想让这个答案站在这里供现在或将来可以使用 Java 9 的其他人使用。
很简单
如果这是 unix 时间,那么将使用此代码段将其转换为人类可读的时间格式。
String relavtiveTimeString = String.valueOf(DateUtils.getRelativeTimeSpanString(unixTime));
您可以使用 new Date(unix);
并通过以下功能获取格式化日期。您可以使用不同的样式进行格式化。
//This mehtod convert the date into standard date like : 2017-12-23
public static String getformateDate(Date dateObject) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
return dateFormat.format(dateObject);
}
有关详细信息,请查看此 link 已回答: Convert unix time stamp to date in java
参考: