项目心得——按照指定的日期/时间创建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 ...
随机推荐
- python寻找模块的路径顺序
>>> import sys >>> sys.path ['', '/Library/Frameworks/Python.framework/Versions/3. ...
- Tomcat Bug记录
1.问题:org.apache.tiles.request.render.CannotRenderException: ServletException including path '/WEB-IN ...
- 库函数的使用:POJ1488-TEX Quotes(getline()的使用)
TEX Quotes Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9385 Description TEX is a type ...
- CodeForce--Benches
A. Benches There are nn benches in the Berland Central park. It is known that aiai people are curr ...
- Linux学习-以最新核心版本编译 CentOS 7.x 的核心
为了某些缘故需要最新的 4.x.y 的核心版本来实作某些特定的功能时,那该 如何是好?没办法,只好使用最新的核心版本来编译你可以依照上面的程序来一个一个处理, 没有问题~不过,你也可以根据 ELRep ...
- clr(Windows 运行时和公共语言运行时)
Windows 运行时 编译器使用 COM 引用计数机制来确定对象是否不再使用并可以删除. 因为从 Windows 运行时接口派生的对象实际上是 COM 对象,所以这是可行的. 在创建或复制对象时 ...
- 贪心 - [POI2006]ORK-Ploughing
[POI2006]ORK-Ploughing 描述 Byteasar 想耕种他那块矩形的田,他每次能耕种矩形的一边(上下左右都行),在他每次耕完后,剩下的田也一定是矩形,每块小区域边长为 1,耕地的长 ...
- python学习-- 理解'*','*args','**','**kwargs'
刚开始学习Python的时候,对有关args,kwargs,和*的使用感到很困惑.相信对此感到疑惑的人也有很多.我打算通过这个帖子来排解这个疑惑(希望能减少疑惑). 让我们通过以下5步来理解: 1. ...
- css中可继承和不可继承属性
一.无继承性的属性 1.display:规定元素应该生成的框的类型 2.文本属性: vertical-align:垂直文本对齐 text-decoration:规定添加到文本的装饰 text-shad ...
- JSP内置对象的cookie和session实现简单登录界面
创建一个index.jsp页面 <%@ page language="java" contentType="text/html; charset=utf-8&quo ...