一个关于借款时间的问题
来源:互联网 发布:mac看b站 编辑:程序博客网 时间:2024/04/28 19:56
问题:如果我在2015年1月31日向A借款1000元,一个月之后准时还。这时,问题就出来了,我是在2月28日还,还是在3月2日还?
这时我们就必须弄清楚我们是按30天一个月算得,还是直接按一个月算。
最近做一个p2p网贷的二次开发,遇到了这个问题,假如用户在31日发标,但如果下个月没有31日,这样就会产生一些误会。
那么假如我们把一个月定义成单纯的一个月,比如1月1日,一个月之后就是2月1日,而如果是1月31日,那么一个月之后就是2月28日(闰年是2月29日)。那么在程序里面怎么算呢?
Java里面提供了一些解决办法:
为了测试,我们把计算机时间跳到2015年1月31日
package test;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class CalendarTest { //时间格式 private static SimpleDateFormat sf = new SimpleDateFormat("yyyy年MM月dd"); public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); System.out.println("现在的日期是:"+sf.format(calendar.getTime())); calendar.setTime(new Date()); calendar.add(Calendar.DATE, 30);//30天之后 System.out.println("一个月后(按一个月30天算)是:"+sf.format(calendar.getTime())); calendar.setTime(new Date()); calendar.add(Calendar.MONTH, 1);//一个月之后 System.out.println("一个月后(按单纯一个月算)是:"+sf.format(calendar.getTime())); System.out.println("***************************************"); calendar.setTime(new Date()); calendar.add(Calendar.MONTH, -1); System.out.println("一个月前是:"+sf.format(calendar.getTime())); calendar.setTime(new Date()); calendar.add(Calendar.YEAR, 1); System.out.println("一年后是:"+sf.format(calendar.getTime())); calendar.setTime(new Date()); calendar.add(Calendar.DATE, 1); System.out.println("一天后是是:"+sf.format(calendar.getTime())); }}
运行结果:
现在的日期是:2015年01月31
一个月后(按一个月30天算)是:2015年03月02
一个月后(按单纯一个月算)是:2015年02月28
***************************************
一个月前是:2014年12月31
一年后是:2016年01月31
一天后是是:2015年02月01
0 0
- 一个关于借款时间的问题
- 这不是一个关于时间的问题,而是关于精力。
- --未还借款不准确的问题分析
- 一个关于注册表的问题困惑了我半年时间。
- 关于时间的问题
- 关于时间的问题
- 关于一个时间的转换问题。由一个RFC3339时间格式的字符串转为本地时间
- 关于日期、时间的问题
- 关于blogging时间的问题
- seo 关于时间的问题
- 关于springMVC 时间的问题
- 关于时间格式的问题
- 关于Java的时间问题
- 一个小的知识点关于java获取系统时间的问题
- 解决一个mysql关于按文章以及评论的最早时间的排序问题
- 急急急!!!请教一个关于ASP不报错的问题!浪费一下午的时间啊。。。。。。
- 急急急!!!请教一个关于ASP不报错的问题!浪费一下午的时间啊。。。。。。
- 关于JavaScript处理时间跨度差问题的一个小细节
- eclipse中英文(等各国语言)版本转换发放
- c++学习笔记(6)
- 软件配置管理中基线(baseline)
- Android 驱动开发系列二
- 数据结构程序&算法
- 一个关于借款时间的问题
- 12月总结。回顾一学期的失与得
- 九度OJ 1078 二叉树遍历
- C++ iostream与iostream.h区别
- PS 滤镜——平面坐标变换到极坐标
- jQuery结合highcharts从后台获取json实时刷新图表
- 密室中的鲜血
- PAT.Basic.Level.1035.插入与归并
- 电脑模拟手机浏览器打开手机网页