Android开发之Java和Calendar日期上一年,上一个月,前一天,前一周的方法
公司做的项目要求选择日期可以选择上一个月的,很简单,但是涉及到临界日期,例如跨年
直接的问题从2019.1.1往前一个月那就不简单了,于是找到相关方法自己尝试下。理解出了两个往前一年的区别
看下图:
方法一:
方法二:
上代码:
//方法一:往前一年就是365天,往前一个月就是30天
c.add(Calendar.MONTH, -1);
//方法二:往前一年就是2019年直接更改为2018天,往前一个月就是1月直接改为12月if (c.get(Calendar.MONTH) == 0) {
//如果当前月份为1月份,那么应该年份往前推一年,例如2019.1.21,往前一个月应该是2018.12.21,所以年份也得减一c.roll(Calendar.YEAR, false);c.roll(Calendar.MONTH, false);} else {c.roll(Calendar.MONTH, false);}
如上面代码所示:
方法有两种:
方法一是仅仅往前数365天一年整(一个月30天),而方法二则是仅仅年份数据的变化类似于2019直接改为2018,类似于日历往前翻一个月,往前翻一年(12个月)
感谢博主提供第二种方法:
博主直达
Android开发之Java和Calendar日期上一年,上一个月,前一天,前一周的方法相关推荐
- 根据指定日期获取上一个月
根据指定日期获取上一个月 看过不少类似文章,根据一个日期,要取得相应的上一个月的值,则利用Calendar的api:get(Calendar.MONTH) - 1)来算. 思路是对的,但这个api有坑 ...
- Java获取当前时间的上一个月和下一个月,第一天和最后一天,任意时间的第一天和最后一天,任意时间上一个月和下一个月
/*** 获取当前时间* * @param args*/public static String getNowTime() {Calendar cal = Calendar.getInstance() ...
- android java设计模式,Android开发之Java设计模式基础篇
今日我们就Android开发中的一些设计模式做一些 根底性的 主宰,本次就Android项 目标架构设计 有关内容做 综合: 1. 静态工厂 步骤 静态工厂 步骤 可以算是工厂 步骤加单例模式的整合在 ...
- Android开发之仿QQ表情实现(上)
大家晚上好,,小鹿又来了..最近小鹿特别忙,忙到没时间发表博客了(注:以下内容过于简单请大家不要喷,仅提供初学者学习) 今天发表两篇文章,分别是讲解模拟QQ表情的实现,先给大家看效果图,,,, 开始了 ...
- Java获取当前月的上一个月
public String getLastMonth() { SimpleDateFormat format = new SimpleDateFormat("yyyyMM&q ...
- Android开发之Java集合类性能分析
对于Android开发者来说深入了解Java的集合类很有必要主要是从Collection和Map接口衍生出来的,目前主要提供了List.Set和 Map这三大类的集合,今天就他们的子类在标准情况和多线 ...
- 安卓开发之Java基础(1)——第一个Java程序
1.计算机软件和硬件: ①计算机软件可以使计算机按照事先预定好的顺序额完成特定的功能,按照功能可以划分为:系统软件{DOS(Disk Operating System).Windows.Linux. ...
- Android开发之Java的IO流读写的十种方法
直接上代码: package com.xiayiye.honorfirst.io;import java.io.BufferedInputStream; import java.io.Buffered ...
- Android开发之Java基础JVM和ClassLoader以及类加机制面试题
在面试中被问到Java相关的东西非常多: 首先说下Java内存模型: 主要由: 程序计数器,Java虚拟机栈,本地方法栈=>被线程私有 方法区 堆组成=>被线程共有 Java类加载机制Cl ...
最新文章
- iPhone中字符串的国际化
- BASE64每76个字符自动换行
- pcie转sata3硬盘不启动_没有地方塞硬盘?你或许需要这款扩展卡
- 问题集锦(46-47)
- 再谈网游同步技术:实时动作游戏同步方式和传输协议选择
- mysql从zip包安装小记
- 数据结构-编程实现一个双链表的建立,双链表的打印,双链表的测长
- 秒懂 QPS、TPS、PV、UV、GMV、IP、RPS!
- python怎么导入os模块_python之os模块
- 自动打卡python脚本_[python][企业微信]企业微信自动打卡Python脚本,价值一万元的自动打卡脚本...
- 【Roboware编译(小锤子)无法选择Debug选项】
- 3D建模,打印正当时
- 一个简单的BitTorrent客户端实现(五):tracker manager和tracker实现
- python读取HTML文本文件
- 【转载】正交实验法表格
- 额外学习:python字符串的各种方法
- ViewModel是如何在配置更改后继续留存数据的
- Android【Retrofit(HTTP客户端),RxJAVA(响应式编程)】
- 网络七层模型与物联网三层模型
- 悦然建站分享:破解版的宝塔面板可以使用吗?
热门文章
- 国学精典书籍阅读记录
- java中throws用法_java中throws实例用法详解
- s7.net 写数据到plc_西门子1200复位PLC、欧姆龙常见问题解答
- jz2440-uboot-201204版本移植【学习笔记】【原创】
- java安装jdk错误1316 指定的账户已存在
- Python里的map、reduce、filter、lambda、列表推导式
- MockupBuilder
- android开发国内镜像
- Eclipse 集成gtk开发环境
- Eclipse maven工程 Missing artifact com.sun:tools:jar:1.5.0:system 解决方法