java 怎样让一个日期累加,2010-12-16 累加到2010-12-30
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 怎样让一个日期累加,2010-12-16 累加到2010-12-30相关的知识,希望对你有一定的参考价值。
参考技术A 用Calendar.set(Calendar.DATE, 1)就可以累加到12-30import java.util.Calendar;
import java.util.Date;
public class CalendarAdd
public static void main(String[] args)
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 2012);
calendar.set(Calendar.MONTH, 12-1);//月份是从0开始的,所以要-1
calendar.set(Calendar.DATE, 16);
for(int i = 16; i <= 30; i++)
calendar.set(Calendar.DATE, i);
Date date = calendar.getTime();
System.out.println(date.toString());
-------------
Sun Dec 16 13:29:26 CST 2012
Mon Dec 17 13:29:26 CST 2012
Tue Dec 18 13:29:26 CST 2012
Wed Dec 19 13:29:26 CST 2012
Thu Dec 20 13:29:26 CST 2012
Fri Dec 21 13:29:26 CST 2012
Sat Dec 22 13:29:26 CST 2012
Sun Dec 23 13:29:26 CST 2012
Mon Dec 24 13:29:26 CST 2012
Tue Dec 25 13:29:26 CST 2012
Wed Dec 26 13:29:26 CST 2012
Thu Dec 27 13:29:26 CST 2012
Fri Dec 28 13:29:26 CST 2012
Sat Dec 29 13:29:26 CST 2012
Sun Dec 30 13:29:26 CST 2012本回答被提问者采纳 参考技术B 用Calendar类
public abstract void add(int field, int amount)根据日历的规则,为给定的日历字段添加或减去指定的时间量。例如,要从当前日历时间减去 5 天,可以通过调用以下方法做到这一点:
add(Calendar.DAY_OF_MONTH, -5)。
参数:
field - 日历字段。
amount - 为字段添加的日期或时间量。
Java中怎么把字符串转换成日期格式啊
就像"2005-06-09"怎么才能让它输出2005年6月9日呢,我用SimpleDateFormat 中的format了但不是太会用,那位大虾能给我一个这方面易懂点的代码,万分感谢。。。
就像"2005-06-09"怎么才能让它输出2005年6月9日呢,我用SimpleDateFormat 中的format了但不是太会用,那位大虾能给我一个这方面易懂点的代码。
我要的是转换任意的字符串,而不是当前时间,一楼的那个我知道,但就是不知道怎样把任意的字符串转换成时间格式的!
希望将日期输出成2005年6月9日,我们可以这么写:
SimpleDateFormat sdf = new SimpleDateFormat( " yyyy年MM月dd日 " );
String str = sdf.format(parse( " 2005-06-09 00:00:00 " );
str便会依照我们设定的格式输出了。
用的API是SimpleDateFormat,它是属于java.text.SimpleDateFormat,所以请记得import进来!用法:SimpleDateFormat sdf = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " );这一行最重要,它确立了转换的格式,yyyy是完整的公元年,MM是月份,dd是日期。
扩展资料:
SimpleDateFormat的支持格式如下:
yy/MM/dd HH:mm:ss 如 '2017/12/12 17:55:00'
yy/MM/dd HH:mm:ss pm 如 '2017/12/12 17:55:00 pm'
yy-MM-dd HH:mm:ss 如 '2017-12-12 17:55:00'
yy-MM-dd HH:mm:ss am 如 '2017-12-12 17:55:00 am'
方法一:
public static void main(String[] args) throws Exception
Date date = new SimpleDateFormat("yyyy-MM-dd").parse("2005-06-09");
String now = new SimpleDateFormat("yyyy年MM月dd日").format(date);
System.out.println(now);
输出结果:2005年06月09日
方法二:
public class bb
public static void main(String[] args)
// TODO Auto-generated method stub
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddhhmmss");
String dateString = "20071128175545";
try
Date date = df.parse(dateString);
System.out.println(df.format(date));
catch (Exception ex)
System.out.println(ex.getMessage());
扩展资料:
Java指定了一些可访问的修饰符如:private、protected、public,任何方法或变量都可以声明为public,Java可以从该类之外的地方访问。因为main方法是公共的,JVM就可以轻松的访问执行它。
在main里面args[]就是两个长度的数组:value1存在args[0]中,value2存在args[1]中。
args[0]存储的是命令,其后才是参数。
String args[ ]或者String[ ] args表示给主方法传一个字符串数组。
而args是一个字符串数组的变量名,不是关键字,是arguments的缩写,只是一个默认名,一般都习惯性照写。
例如:
class Example
public static void main(String args[ ])
System.out.println("This is a simple Java program.");
参考资料来源:百度百科—args[ ]
参考技术B需要输出:2005年06月09日,那么需要注意的有两点:
第一,把你给定的日期格式的字符串转换为日期类型的值,要利用 new SimpleDateFormat("yyyy-MM-dd"); 注意这里的字符串值就可以任意给定了,但是转换时要注意日期格式的对应!!!
第二,再利用第一步得到的日期类型的值转换为你需要的值,需新建一个 new SimpleDateFormat("yyyy年MM月dd日");
详细代码如图:
参考技术C 先用parse转成date型,再用format转成string。public static void main(String[] args) throws Exception
Date date = new SimpleDateFormat("yyyy-MM-dd").parse("2005-06-09");
String now = new SimpleDateFormat("yyyy年MM月dd日").format(date);
System.out.println(now);
本回答被提问者和网友采纳 参考技术D import java.sql.Date;
Date date = Date.valueOf(str);
//str为目标字符串,如2006-10-05,或20061005,有些格式离谱的如:201315当然不能转化为日期了
然后按照一楼的操作,还有其他方法,多看看帮助文档
以上是关于java 怎样让一个日期累加,2010-12-16 累加到2010-12-30的主要内容,如果未能解决你的问题,请参考以下文章