📅  最后修改于: 2023-12-03 14:39:11.755000             🧑  作者: Mango
在Android开发中,经常需要处理日期和时间。Android提供了各种日期格式,使得程序员能够轻松地解析和格式化日期。
通过使用java.util.Calendar
类,可以获取当前日期和时间的各个部分,如年、月、日、时、分和秒。
import java.util.Calendar;
// 获取当前日期和时间
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1; // 注意:月份从0开始计算,因此需要加1
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
int hourOfDay = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
SimpleDateFormat
类SimpleDateFormat
类可以将日期和时间格式化为指定的字符串形式,也可以将字符串解析为日期和时间对象。
示例:将当前日期和时间格式化为字符串
import java.text.SimpleDateFormat;
import java.util.Date;
// 获取当前日期和时间
Date currentDate = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = dateFormat.format(currentDate);
示例:将字符串解析为日期对象
import java.text.SimpleDateFormat;
import java.util.Date;
String dateString = "2022-01-01 12:00:00";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date parsedDate = dateFormat.parse(dateString);
常用的日期格式化符号如下:
yyyy
:四位数的年份MM
:两位数的月份(01-12)dd
:两位数的日期(01-31)HH
:两位数的小时(00-23)mm
:两位数的分钟(00-59)ss
:两位数的秒钟(00-59)android.text.format.DateFormat
类android.text.format.DateFormat
类是Android提供的日期格式化工具类,它提供了一些静态方法用于格式化日期和时间。
示例:将当前日期和时间格式化为字符串
import android.text.format.DateFormat;
// 获取当前日期和时间
long currentTimeMillis = System.currentTimeMillis();
String formattedDate = DateFormat.format("yyyy-MM-dd HH:mm:ss", currentTimeMillis).toString();
注意:android.text.format.DateFormat
类的format()
方法返回的是一个CharSequence
对象,需要使用toString()
方法将其转换为字符串。
在Android中,还可以使用android.text.format.DateUtils
类提供的静态方法,根据不同的上下文和语言环境,显示各种格式的日期和时间。
示例:将时间戳转换为相对时间字符串
import android.text.format.DateUtils;
// 将时间戳转换为相对时间字符串
CharSequence relativeTime = DateUtils.getRelativeTimeSpanString(timestamp);
示例:将日期时间戳转换为友好格式的字符串
import android.text.format.DateUtils;
// 将日期时间戳转换为友好格式的字符串
String friendlyDate = DateUtils.getRelativeDateTimeString(context, timestamp, DateUtils.MINUTE_IN_MILLIS, DateUtils.WEEK_IN_MILLIS, DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_YEAR).toString();
Android提供了多种日期格式化工具类,使得程序员可以轻松地处理日期和时间。根据不同的需求,可以选择合适的日期格式化方法来满足业务需求。使用这些日期格式化工具,可以更加方便地展示和解析日期,提高用户体验。