热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

完成字符串和时间对象的转化(DateFormat)、(以及日历Calendar用法)

DateFormat 和SimpleDateFormat示例(时间格式的书写)packagecn.date;importjava.text.DateFormat;importjav

DateFormat  和 SimpleDateFormat

示例(时间格式的书写)

package cn.date;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test02 {
public static void main(String[] args) {
DateFormat d=new SimpleDateFormat("yyyy年-MM月-dd日 hh:mm:ss"); //设置时间格式
Date s=new Date(); //当前时间
String str=d.format(s); //将时间对象按照格式化字符串 ,转换为字符串
System.out.println(str);

String str2="1998-5-20";
DateFormat dd=new SimpleDateFormat("yyyy-MM-dd");
try {
Date ss=dd.parse(str2); //将字符串解析为带有固定格式的字符串,并把它给Date对象。注意:格式要一致
System.out.println(ss);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}
}

 结果

 

 

Calendar  (日历)(日期类)(日期加法)

示例

package cn.date;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class TestClendar {
public static void main(String[] args) {
Calendar c=new GregorianCalendar(); //Calendar是抽象类,不能建对象,要用到他的子类。
c.set(2019, 7,15,18,07,36); //设置日期
Date d=c.getTime(); //得到设定日期 ,没有设值的话,返回当前时间。
// c.setTime(new Date());
System.out.println(d);

// System.out.println(c.get(Calendar.YEAR));

//加法
c.add(Calendar.YEAR, 30);
Date m=c.getTime();
System.out.println(m);

}
}

结果

 

可视化的日历  (挺有意思)                

 代码示例:

package cn.date;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
public class Visual {
public static void main(String[] args) {
System.out.println("请输入日期(按格式:2019-5-6):");
Scanner scanner=new Scanner(System.in); //输入日期,按格式 ------ System.in输入流
String temp=scanner.nextLine(); //返回输入的结果,给temp变量。
// String temp="2019-2-15"; 这是写死的
DateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd");
try {
Date d= dateformat.parse(temp); //将字符串解析为带有固定格式的字符串,并把它给Date对象。
Calendar calendar=new GregorianCalendar();
calendar.setTime(d);
int day=calendar.get(Calendar.DATE); //获取到当前日期 15;

// System.out.println(day); //打印
calendar.set(Calendar.DATE, 1); //把日期设成2019-2-1,接着查看他是第几天,从而确定它在日历中的位置
// System.out.println(calendar.get(Calendar.DAY_OF_WEEK)); //打印查看2月1日是这周的第几天。6 表示星期五,则星期五为2月1号这一天
// System.out.println(calendar.getActualMaximum(Calendar.DATE)); //这个月的最多天数
int MaxDay=calendar.getActualMaximum(Calendar.DATE); //把天数提取出来

System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int i=1;i System.out.print("\t");

}
//可视化日历
for(int i=1;i<=MaxDay;i++) {
if(i==day) {
System.out.print("*"); //如果打印到当天就打印个星星“*”
}
System.out.print(i+"\t");
int w=calendar.get(Calendar.DAY_OF_WEEK); //得到2019-2-2是这周的第几天
if(w==Calendar.SATURDAY) { //如果是这周的第七天,也就是周六,则换行。
System.out.print("\n");
}
calendar.add(Calendar.DATE, 1); //日期加一,变为2019-2-2;
}

} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}

打印结果

 

 

 

 

 

 

 

 

 


推荐阅读
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了一个Java猜拳小游戏的代码,通过使用Scanner类获取用户输入的拳的数字,并随机生成计算机的拳,然后判断胜负。该游戏可以选择剪刀、石头、布三种拳,通过比较两者的拳来决定胜负。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 本文介绍了Java高并发程序设计中线程安全的概念与synchronized关键字的使用。通过一个计数器的例子,演示了多线程同时对变量进行累加操作时可能出现的问题。最终值会小于预期的原因是因为两个线程同时对变量进行写入时,其中一个线程的结果会覆盖另一个线程的结果。为了解决这个问题,可以使用synchronized关键字来保证线程安全。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
author-avatar
手浪用户2602881857
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有