Android中时间、日期的计算方法
来源:互联网 发布:苗阜精神状态知乎 编辑:程序博客网 时间:2024/05/15 15:49
编写不易,如有转载,请声明出处: 梦回河口:http://blog.csdn.net/zxc514257857/article/details/73466836
方法一:使用java.text.SimpleDateFormat进行计算
import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import java.text.SimpleDateFormat;import java.util.Date;public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; private Date mDate; private SimpleDateFormat mSdf; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initData(); } public void initView(){ mDate = new Date(); mSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); } public void initData(){ String today = mSdf.format(mDate); String yesterday = mSdf.format(new Date(mDate.getTime() - 1 * 24 * 60 * 60 * 1000)); String tomorrow = mSdf.format(new Date(mDate.getTime() + 1 * 24 * 60 * 60 * 1000)); Log.i(TAG , "today:" + today); Log.i(TAG , "yesterday:" + yesterday); Log.i(TAG , "tomorrow:" + tomorrow); }}
方法二:使用java.util.Calendar进行计算
import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import java.util.Calendar;public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; private Calendar mCalendar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initData(); } public void initData(){ getNow(); getTomorrow(); getYesterday(); } private void getTomorrow() { // 从日历类中获取默认时间(即当前时间) mCalendar = Calendar.getInstance(); int year = mCalendar.get(Calendar.YEAR); // 按照外国习惯,月份是从0 开始的 int month = mCalendar.get(Calendar.MONTH) + 1; // 将日期加一,即为明天的时间 mCalendar.set(Calendar.DAY_OF_MONTH , mCalendar.get(Calendar.DAY_OF_MONTH) + 1); int day = mCalendar.get(Calendar.DAY_OF_MONTH); int hour = mCalendar.get(Calendar.HOUR_OF_DAY); int minute = mCalendar.get(Calendar.MINUTE); int second = mCalendar.get(Calendar.SECOND); Log.i( TAG , "tomorrow:" + year + "-" + addZero(month + "") + "-" + addZero(day + "") + " " + addZero(hour + "") + ":" + addZero(minute + "") + ":" + addZero(second + "")); } private void getYesterday() { // 从日历类中获取默认时间(即当前时间) mCalendar = Calendar.getInstance(); int year = mCalendar.get(Calendar.YEAR); // 按照外国习惯,月份是从0 开始的 int month = mCalendar.get(Calendar.MONTH) + 1; // 将日期减一,即为昨天的时间 mCalendar.set(Calendar.DAY_OF_MONTH , mCalendar.get(Calendar.DAY_OF_MONTH) - 1); int day = mCalendar.get(Calendar.DAY_OF_MONTH); int hour = mCalendar.get(Calendar.HOUR_OF_DAY); int minute = mCalendar.get(Calendar.MINUTE); int second = mCalendar.get(Calendar.SECOND); Log.i( TAG , "yesterday:" + year + "-" + addZero(month + "") + "-" + addZero(day + "") + " " + addZero(hour + "") + ":" + addZero(minute + "") + ":" + addZero(second + "")); } public void getNow(){ // 从日历类中获取默认时间(即当前时间) mCalendar = Calendar.getInstance(); int year = mCalendar.get(Calendar.YEAR); // 按照外国习惯,月份是从0 开始的 int month = mCalendar.get(Calendar.MONTH) + 1; int day = mCalendar.get(Calendar.DAY_OF_MONTH); int hour = mCalendar.get(Calendar.HOUR_OF_DAY); int minute = mCalendar.get(Calendar.MINUTE); int second = mCalendar.get(Calendar.SECOND); Log.i( TAG , "today:" + year + "-" + addZero(month + "") + "-" + addZero(day + "") + " " + addZero(hour + "") + ":" + addZero(minute + "") + ":" + addZero(second + "")); } public String addZero(String num){ int length = num.length(); if(length == 1){ return "0" + num; } return num; }}
方法三:使用java.util.GregorianCalendar进行计算
import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; private SimpleDateFormat mSdf; private GregorianCalendar mGc; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initData(); } public void initData(){ mSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); mGc = new GregorianCalendar(); getNow(); getTomorrow(); getYesterday(); } public void getNow(){ mGc.setTime(new Date()); String today = mSdf.format(mGc.getTime()); Log.i(TAG , "today:" + today); } public void getYesterday(){ mGc.setTime(new Date()); mGc.add(Calendar.DAY_OF_MONTH , -1); String yesterday = mSdf.format(mGc.getTime()); Log.i(TAG , "yesterday:" + yesterday); } public void getTomorrow(){ mGc.setTime(new Date()); mGc.add(Calendar.DAY_OF_MONTH , +1); String tomorrow = mSdf.format(mGc.getTime()); Log.i(TAG , "tomorrow:" + tomorrow); }}
注
导包的时候不要导成了android.icu包,要导java包,否则API在minSdkVersion = 24以下无法使用
参考:http://blog.csdn.net/liwenfeng1022/article/details/6534176/
———-因本人才疏学浅,如博客或Demo中有错误的地方请大家随意指出,与大家一起讨论,共同进步,谢谢!———-
阅读全文
0 0
- Android中时间、日期的计算方法
- 时间日期工具类 封装工作中常用的一些时间日期计算方法(转+自己修改)
- JAVA8日期时间的差值计算方法
- java时间日期计算方法
- MATLAB中程序运行时间的计算方法
- Android 计算方法运行时间
- android 中 系统日期时间的获取
- android 中 系统日期时间的获取
- android 中 系统日期时间的获取
- android 中 系统日期时间的获取
- android 中 系统日期时间的获取
- android 中 系统日期时间的获取
- android 中 系统日期时间的获取
- Android中时间和日期的显示
- android 中 系统日期时间的获取
- android 中 系统日期时间的获取
- android 中 系统日期时间的获取
- android 中 系统日期时间的获取
- Python3 BeautifulSoup爬虫 HDU自动提交
- 表单控件 文本框 title overall type: UNKNOWN_TYPE server type: NO_SERVER_DATA
- 论 C++ 在OpenJudge中做题的易错点(一)
- opencv3.2的cuda重新编译教程
- SQL Function 自定义函数
- Android中时间、日期的计算方法
- Java正则表达式-基础
- Logrotate操作手册
- web如何制作验证码功能
- 经典设计模式(附实例和详解)
- 刷新组件RENDER(重新渲染)的三种方式详解
- js数据结构之栈和队列
- 面试题17:合并两个排序的链表
- Ie浏览器访问https网站,处理SSL提示的代码