项目心得——按照指定的日期/时间创建Date对象
项目心得——按照指定的日期/时间创建Date对象
有时,在做项目中,需要获得指定日期的Date对象,这个指定的日期或者时间可能不是当前的时间。下面讲解两种获取指定日期/时间的Date对象的方法:
package cc.bcy;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class DateTest
{
public static void main(String[] args) throws ParseException
{
/*第一种方法*/
// 获得2009年06月01日 的Date对象
DateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
Date myDate1 = dateFormat1.parse("2009-06-01");
System.out.println(myDate1);
// 获得2010年9月13日22点36分01秒 的Date对象
DateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date myDate2 = dateFormat2.parse("2010-09-13 22:36:01");
System.out.println(myDate2);
System.out.println(); /*第二种方法*/
//获取2014年2月11日的Date对象
Calendar myCalendar = new GregorianCalendar(2014, 2, 11);
Date myDate3 = myCalendar.getTime();
System.out.println(myDate3);
//获取2014年2月11日 22:36:01的Date对象
Calendar myCalendar2 = new GregorianCalendar(2014, 2, 11,22,36,01);
Date myDate4 = myCalendar2.getTime();
System.out.println(myDate4);
}
}
获取当前时间的Date对象:
package cc.bcy;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class DateTest
{
public static void main(String[] args) throws ParseException
{
Date d1 = new Date(); //当前时间
System.out.println(d1);
}//Thu May 30 10:50:04 CST 2019
}
获取指定时间戳的Date对象:
package cc.bcy;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class DateTest
{
public static void main(String[] args) throws ParseException
{
// 从1970年1月1日 早上8点0分0秒 开始经历的毫秒数
Date d2 = new Date(5000);
System.out.println("从1970年1月1日 早上8点0分0秒 开始经历了5秒的时间");
System.out.println(d2);
}
}
/*
从1970年1月1日 早上8点0分0秒 开始经历了5秒的时间
Thu Jan 01 08:00:05 CST 1970
*/
获取当前时间的时间戳:
package cc.bcy;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class DateTest
{
public static void main(String[] args) throws ParseException
{
Date now = new Date();
System.out.println("当前时间的时间戳为:"+now.getTime());
System.out.println("当前时间的时间戳为:"+System.currentTimeMillis());
}
}
//当前时间的时间戳为:1559185132787
//当前时间的时间戳为:1559185132787
把当前时间格式化为字符串:
package cc.bcy;
import java.text.*;
import java.util.*; public class DateTest
{
public static void main(String[] args) throws ParseException
{
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS" );
Date d= new Date();
String str = sdf.format(d);
System.out.println("当前时间通过 yyyy-MM-dd HH:mm:ss SSS 格式化后的输出: "+str); SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd" );
Date d1= new Date();
String str1 = sdf1.format(d1);
System.out.println("当前时间通过 yyyy-MM-dd 格式化后的输出: "+str1);
}
}
/*
当前时间通过 yyyy-MM-dd HH:mm:ss SSS 格式化后的输出: 2019-05-30 11:03:15 267
当前时间通过 yyyy-MM-dd 格式化后的输出: 2019-05-30
*/
Calendar与Date进行转换:
package cc.bcy;
import java.text.*;
import java.util.*; public class DateTest
{
public static void main(String[] args) throws ParseException
{
//采用单例模式获取日历对象Calendar.getInstance();
Calendar c = Calendar.getInstance();
//通过日历对象得到日期对象
Date date = c.getTime(); Date date2 = new Date(0);
c.setTime(date2); //把这个日历,调成日期 : 1970.1.1 08:00:00
}
}
Calendar的简单操作:
add方法,在原日期上增加年/月/日
set方法,直接设置年/月/日
package cc.bcy;
import java.text.*;
import java.util.*; public class DateTest
{ public static void main(String[] args) throws ParseException
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar c = Calendar.getInstance();
Date now = c.getTime();
// 当前日期
System.out.println("当前日期: " + sdf.format(now)); // 下个月的今天
c.add(Calendar.MONTH, 1);
System.out.println("下个月的今天: " +sdf.format(c.getTime())); // 去年的今天
c.setTime(now);
c.add(Calendar.YEAR, -1);
System.out.println("去年的今天: " +sdf.format(c.getTime())); // 上个月的第三天
c.setTime(now);
c.add(Calendar.MONTH, -1);
c.set(Calendar.DATE, 3);
System.out.println("上个月的第三天: " +sdf.format(c.getTime()));
}
}
/*
当前日期: 2019-05-30 11:14:41
下个月的今天: 2019-06-30 11:14:41
去年的今天: 2018-05-30 11:14:41
上个月的第三天: 2019-04-03 11:14:41
*/
项目心得——按照指定的日期/时间创建Date对象的更多相关文章
- 【转】JAVA 8 日期/时间(Date Time)API指南
前言 本来想写下Java 8的日期/时间API,发现已经有篇不错的文章了,那就直接转载吧~ PS:主要内容没变,做了部分修改. 原文链接: journaldev 翻译: ImportNew.com - ...
- Java8学习笔记(九)--日期/时间(Date Time)API指南
Java 8日期/时间( Date/Time)API是开发人员最受追捧的变化之一,Java从一开始就没有对日期时间处理的一致性方法,因此日期/时间API也是除Java核心API以外另一项倍受欢迎的内容 ...
- [转] Java8 日期/时间(Date Time)API指南
[From] http://www.importnew.com/14140.html Java 8日期/时间( Date/Time)API是开发人员最受追捧的变化之一,Java从一开始就没有对日期时间 ...
- PHP函数之日期时间函数date()使用详解
date()函数是我们在php开发中常碰到并且会使用到的一个日期函数,下面我来给大家介绍date()函数的一些基本扮靓和方法,有需要了解的朋友可进入参考 日期时间函数是PHP 的核心组成部分.无需 ...
- Java8 日期/时间(Date Time)使用简介
特别说明: LocalDateTime 为日期时间的计算提供了很大的方便, 在构造对象/运算/toString等方便都非常便利. 3个常用的类: java.time.LocalDateTime; ja ...
- PHP中日期时间函数date()用法总结
date()是我们常用的一个日期时间函数,下面我来总结一下关于date()函数的各种形式的用法,有需要学习的朋友可参考. 格式化日期date() 函数的第一个参数规定了如何格式化日期/时间.它使用字母 ...
- 雷林鹏分享:Ruby 日期 & 时间(Date & Time)
Ruby 日期 & 时间(Date & Time) Time 类在 Ruby 中用于表示日期和时间.它是基于操作系统提供的系统日期和时间之上.该类可能无法表示 1970 年之前或者 2 ...
- 如何在指定的地址上创建C++对象
如果已经掌握在静态存储区上创建对象的方法,那么可以扩展一下,可以在任意地址上创建C++对象. 解决方案:-在类中重载new/delete操作符-在new的操作符重载函数中返回指定的地址-在delete ...
- javascript转换日期字符串为Date对象
把一个日期字符串如“2007-2-28 10:18:30”转换为Date对象: 1: var strArray=str.split(" "); var strDate=strArr ...
随机推荐
- Tomcat上传文件报错:returned a response status of 403 Forbidden
出现这样的错误是没有权限对服务器进行写操作.需要在这个项目所在的tomcat中配置可写操作即可: 在tomcat的web.xml添加下面代码: <init-param><param- ...
- octave-basic
在coursera上斯坦福的machine learning,lecturer极力推荐开源的编程环境Octave入手,所以我也下载了来试一试吧== 参考链接:http://www.linuxdiyf. ...
- Linux数据库忘记密码-修改方法
一.拥有原来的myql的root的密码: 方法一:在mysql系统外,使用mysqladmin# mysqladmin -u root -p password "test123"E ...
- [转载]ExtJs4 笔记(2) ExtJs对js基本语法扩展支持
作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/) 本篇主要介绍一下ExtJs对JS基本语法的扩展支持,包括动态加载.类的封装等. 一.动态引 ...
- df和du显示的磁盘空间使用情况不一致问题
背景介绍: dba同事删除了mysql /datao目录下的文件,通过du –sh查看空间使用700G,df -h查看空间使用1T,没有重启mysql服务. 另一个表现出du与df命令不同之处的例子如 ...
- [错误处理]UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
Stackoverflow 回答: 将byte类型转化:byte_string.decode('utf-8') Jinja2 is using Unicode internally which mea ...
- springboot集成shiro——登陆记住我
在shiro配置类中增加两个方法: com.resthour.config.shrio.ShiroConfiguration /** * cookie管理对象 * @return */ @Bean p ...
- HDU——1027Ignatius and the Princess II(next_permutation函数)
Ignatius and the Princess II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ( ...
- 关闭webkit浏览器的自动完成,修正,大写
关闭input自动完成<input name="q" type="text" autocomplete="off"/>关闭整个表 ...
- 刷题总结——分糖(ssoj 容斥原理+逆元+快速幂+组合数求插板)
题目: 题目描述 有 N 个(相同的)糖果,M 个(不同的)小朋友.M 和 N 满足:1≤M≤N≤100000(105).要求:1.每个小朋友都至少有一个糖果.2.不存在正整数 X(X>=2), ...