Android 时间戳获取年月日时分秒
在Android开发中,我们经常会遇到需要将时间戳转换成可读的日期时间的需求。时间戳是指从某个固定时间点(通常为1970年1月1日00:00:00)到现在的总毫秒数。本文将介绍如何在Android中获取年月日时分秒。
方法一:使用SimpleDateFormat
Android提供了SimpleDateFormat
类,可以方便地将时间戳转换成指定格式的日期时间。下面是一个示例代码:
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimeUtils {
public static String getTimeFromTimestamp(long timestamp) {
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date(timestamp);
return dateFormat.format(date);
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
}
在上述代码中,我们首先创建了一个SimpleDateFormat
对象,指定了日期时间的格式为"yyyy-MM-dd HH:mm:ss"
。然后使用Date
类根据时间戳创建一个日期对象,并使用dateFormat.format(date)
方法将日期对象格式化成指定格式的字符串。
使用该方法,可以将时间戳转换成如下格式的日期时间:2021-01-01 12:34:56。
方法二:使用Calendar
除了使用SimpleDateFormat
,我们也可以使用Calendar
类来获取年月日时分秒。下面是一个示例代码:
import java.util.Calendar;
public class TimeUtils {
public static String getTimeFromTimestamp(long timestamp) {
try {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(timestamp);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1; // 月份从0开始,所以要加1
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
return String.format("%04d-%02d-%02d %02d:%02d:%02d", year, month, day, hour, minute, second);
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
}
在上述代码中,我们首先创建了一个Calendar
对象,并使用calendar.setTimeInMillis(timestamp)
方法将时间戳设置给Calendar
对象。然后使用calendar.get()
方法获取年、月、日、时、分、秒等信息,并使用String.format()
方法将这些信息格式化成指定格式的字符串。
使用该方法,可以得到跟方法一一样的格式的日期时间:2021-01-01 12:34:56。
总结
本文介绍了两种常用的方法来获取Android中的年月日时分秒。使用SimpleDateFormat
可以直接将时间戳格式化成指定格式的字符串,而使用Calendar
则可以获取到更为详细的日期时间信息。根据具体需求,选择合适的方法来进行时间戳的转换。
以上就是关于Android时间戳获取年月日时分秒的简单介绍和示例代码。希望本文对你有所帮助!