Java经常使用日期操作具体解释
Date类型大多数时间分量计算方法已经被Calendar代替
Date经常用法setTime getTime()
new Date();默认获取当前的时间
SimpleDateFormat用来格式化和解析日期的详细类
匹配日期的字符串
y–>年
M–>月
d–>日
E–>星期
a–>上下午
H–>小时(24小时制)
h–>小时(12小时制)
m–>分
s–>秒
格式化Date返回值为String
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String result = sdf.format(new Date());
System.out.println(result);
输出结果:2015-07-22 21:17:43
将String解析为Date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strDate = "2015-07-22 21:21:01";
Date date = sdf.parse(strDate);
System.out.println(date);
输出结果:
Wed Jul 22 21:21:01 CST 2015
Calender封装了日历信息
经常用法:
getInstance()获取一个系统所在地区的一个Calender的子类实现
通经常使用于实例化Calendar
set(int field,int value)设置时间
get(int field)获取时间分量相应值
getActualMaximum(int field)获取时间分量的最大值
add()对时间分量进行计算
setTime和getTime方法设置和获取时间
综合运用:
商品促销计算程序
需求:
用户输入商品生产日期和保质期。通过程序计算促销日期
计算规则:
到保质期前14添所在的周三为促销日
public class PromotionDate {
public static void main(String[] args) throws Exception {
Calendar cd = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Scanner sc = new Scanner(System.in);
System.out.print("请输入生产日期:");
Date productionDate= sdf.parse(sc.nextLine());//接收字符串并转换为日期型
System.out.print("请输入保质期:");
int days = sc.nextInt();
cd.setTime(productionDate);
cd.add(Calendar.DAY_OF_YEAR, (days - 14));
cd.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
String promotionDate = sdf.format(cd.getTime()); //格式化计算后的日期
System.out.println("该产品的促销日期为:"+ promotionDate);
sc.close();
}
}
測试结果:
请输入生产日期:2015-01-01
请输入保质期:180
该产品的促销日期为:2015-06-17
Java经常使用日期操作具体解释的更多相关文章
- Java中的日期操作
在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...
- Java中的日期操作 分类: B1_JAVA 2015-02-16 17:55 6014人阅读 评论(0) 收藏
在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...
- java中的日期操作Calendar和Date
1. Calendar转Date Calendar calendar = Calendar.getInstance(); Date date = calendar.getTime(); 2. Date ...
- Date日期操作
获取年月日时分秒: package com.util; import java.text.DateFormat; import java.util.Calendar; import java.util ...
- java日期操作大全
摘自(http://www.blogjava.net/i369/articles/83483.html) java日期操作 大全 先来一个: 取得指定月份的第一天与取得指定月份的最后一天 http ...
- Java路径操作具体解释
1.基本概念的理解 绝对路径:绝对路径就是你的主页上的文件或文件夹在硬盘上真正的路径.(URL和物理路径)比如: C:\xyz\test.txt 代表了test.txt文件的绝对路径.http://w ...
- 【Java基础】Jar包结构结构分析和操作具体解释
作者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 一 ...
- java日期操作常用工具
java日期操作常用工具 package com..util; import java.sql.Timestamp; import java.text.SimpleDateFormat; import ...
- Java常用日期操作
对java中常用的日期操作进行整理. 1.日期格式化 /* * 日期格式化类(必须掌握) * API: * G Era 标志符 Text AD y 年 Year 1996; 96 M 年中的月份 Mo ...
随机推荐
- IDEA下maven工程的classpath
IDEA开发maven项目,此工程的classpath就是指src/main/java,src/main/resources,src/main/webapp,假如在main文件夹下新建一个文件prop ...
- InnoDB INFORMATION_SCHEMA Buffer Pool Tables
InnoDB INFORMATION_SCHEMA Buffer Pool Tables InnoDB INFORMATION_SCHEMA缓冲池表提供有关InnoDB缓冲池中页面的缓冲池状态信息和元 ...
- 树莓派 - MQTT
安装mosquitto 下载源代码包 wget http://mosquitto.org/files/source/mosquitto-1.5.tar.gz 解压 tar zxfv mosquitto ...
- FTS5与DIY
此文已由作者王荣涛授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. FTS5简介 前文已经介绍了FTS3/FTS4,本文着重介绍它们的继任者FTS5. FTS5是在SQLite ...
- NYOJ90-整数划分,经典递归思想~~
整数划分 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 将正整数n表示成一系列正整数之和:n=n1+n2+-+nk, 其中n1≥n2≥-≥nk≥1,k≥1. 正整数 ...
- AI Gossip
本文作者:七牛云人工智能实验室-林亦宁原文地址:https://zhuanlan.zhihu.com/p/26168331 什么是智能 回到几万年前的东非大草原,谁能意识到,那个到处被欺负的,被表哥从 ...
- HDU 5242 利用树链剖分思想进行贪心
题目大意: 在给定带权值节点的树上从1开始不回头走到某个底端点后得到所有经过的点的权值后,这些点权值修改为0,到达底部后重新回到1,继续走,问走k次,最多能得到多少权值之和 这其实就是相当于每一次都走 ...
- POJ 1379 (随机算法)模拟退火
题目大意: 给定一堆点,找到一个点的位置使这个点到所有点中的最小距离最大 这里数据范围很小,精度要求也不高,我们这里可以利用模拟退火的方法,随机找到下一个点,如果下一个点比当前点优秀就更新当前点 参考 ...
- 【BZOJ1492】货币兑换Cash(CDQ分治)
题意: 小 Y 最近在一家金券交易所工作.该金券交易所只发行交易两种金券:A 纪 念券(以下简称 A 券)和 B 纪念券(以下简称 B 券).每个持有金券的顾客都有 一个自己的帐户.金券的数目可以是一 ...
- CF788E:New task
n个数字中,每个数有数字A和属性B,每次操作将某个点x的属性B改变为0或1,求满足这样要求的子序列的个数: 下标a<b<c<d<e,而Aa<=Ab=Ac=Ad>=A ...