当前位置: 首页 > 编程日记 > 正文

java基础--日期--练习集锦

题目1 --日期

借助随机数,创建一个从1995.1.1 00:00:00 到 1995.12.31 23:59:59 之间的随机日期

package date;import java.util.Date;public class TestDate {public static void main(String[] args) {long second = 1000;long minute = 60*second;long hour = minute * 60;long day = hour*24;long year = day * 365;long year1995Start  = (1995-1970) * year;long leapDay = (1995-1970)/4*day; //每隔4年有一个润日year1995Start+=leapDay;long eightHour = hour*8; //8个小时的毫秒数,因为从0毫秒对应的是1970.1.1 08:00:00year1995Start-=eightHour;Date dStart = new Date(year1995Start);System.out.println("1995年第一天:"+dStart);long year1995End = year1995Start + year - 1;Date dEnd = new Date(year1995End);System.out.println("1995年最后一天:"+dEnd);long randomTime = (long) (Math.random()*(year-1) + year1995Start);Date dRandom = new Date(randomTime);System.out.println("1995年这一年中的一个随机时间:" + dRandom);}
}

笔记

SimpleDateFormat sdf =new SimpleDateFormat("yyyy/MM/dd HH:mm:ss" );
String str = "2016/1/5 12:12:12";
Date d = sdf.parse(str);
字符串对象有一个parse(str) 可以转成Date 对象

Date对象转字符串:
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS" );
Date d= new Date();
String str = sdf.format(d);

题目2--日期格式化

准备一个长度是9的日期数组
使用1970年-2000年之间的随机日期初始化该数组
按照这些日期的时间进行升序排序
比如 1988-1-21 12:33:22 就会排在 1978-4-21 19:07:23 前面,因为它的时间更小,虽然日期更大

package date;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class TestDate {public static void main(String[] args) {int yearStart = 1970;int yearEnd = 2000;Date[] ds = new Date[9];for (int i = 0; i < ds.length; i++) {ds[i] = getRandomDate(yearStart, yearEnd);}System.out.println("得到的随机日期数组:");for (int i = 0; i < ds.length; i++) {System.out.print(toString(ds[i])+"\t");if(2==i%3)System.out.println();}//选择法排序for (int j = 0; j < ds.length-1; j++) {for (int i = j+1; i < ds.length; i++) {String strTimeI = toString(ds[i],"HHmmss");String strTimeJ = toString(ds[j],"HHmmss");int lTimeI = Integer.parseInt(strTimeI);int lTimeJ = Integer.parseInt(strTimeJ);if( lTimeI<lTimeJ  ){  Date temp = ds[j];ds[j] = ds[i];ds[i] = temp;}}}      System.out.println("排序后的随机日期数组:");for (int i = 0; i < ds.length; i++) {System.out.print(toString(ds[i])+"\t");if(2==i%3)System.out.println();}}public static String toString(Date d) {return toString(d, "yyyy-MM-dd HH:mm:ss");}public static String toString(Date d, String format) {SimpleDateFormat sdf = new SimpleDateFormat(format);return sdf.format(d);}private static Date getRandomDate(int yearStart, int yearEnd) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy");try {Date dStart = sdf.parse(String.valueOf(yearStart)); // 1970Date dEnd = sdf.parse(String.valueOf(yearEnd + 1)); // 2001 不是 2000,要在2001的基础上减少以毫秒,才表示2000最后一刻long timeStart = dStart.getTime();long timeEnd = dEnd.getTime() - 1;long timeRandom = (long) (timeStart + Math.random() * (timeEnd - timeStart));return new Date(timeRandom);} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}return null;}
}

笔记:可以通过日历对象得到日期对象

//采用单例模式获取日历对象Calendar.getInstance();
Calendar c = Calendar.getInstance();

    //通过日历对象得到日期对象Date d = c.getTime();

日期对象
add方法,在原日期上增加年/月/日
set方法,直接设置年/月/日

题目3--Calendar

找出下个月的倒数第3天是哪天

package date;import java.text.SimpleDateFormat;
//
import java.util.Calendar;
import java.util.Date;public class TestDate {private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");public static void main(String[] args) {Calendar c = Calendar.getInstance();System.out.println("今天是:" + format( c.getTime()));//先翻到下下个月c.add(Calendar.MONTH,2);//设置到月初c.set(Calendar.DATE,1);//再往回翻3天c.add(Calendar.DATE,-3);Exception e;System.out.println("下个月倒数第三天是:" + format(c.getTime()));}private static String format(Date time) {return sdf.format(time);}
}

转载于:https://www.cnblogs.com/czy16/p/8963488.html

相关文章:

python多变量非线性拟合_python实现多变量线性回归(Linear Regression with Multiple Variables)...

本文介绍如何使用python实现多变量线性回归&#xff0c;文章参考NG的视频和黄海广博士的笔记现在对房价模型增加更多的特征&#xff0c;例如房间数楼层等&#xff0c;构成一个含有多个变量的模型&#xff0c;模型中的特征为(x1,x2,...,xn)表示为&#xff1a;引入x01&#xff0c…

【bzoj3150】 cqoi2013—新Nim游戏

www.lydsy.com/JudgeOnline/problem.php?id3105 (题目链接) 题意 在第一个回合中&#xff0c;第一个游戏者可以直接拿走若干个整堆的火柴。可以一堆都不拿&#xff0c;但不可以全部拿走。第二回合也一样&#xff0c;第二个游戏者也有这样一次机会。从第三个回合&#xff08;又…

再见,Python!你好,Go语言

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 AI 前线导读&#xff1a;Go 语言诞生于谷歌&#xff0c;由计算机领域的三位宗师级大牛 Rob Pike、Ken Thompson 和 Robert Griesemer 写成。由于出身…

tensorflow intel platform 优化

intel平台优化 TensorFlow *是深度学习领域中主要使用的机器学习框架&#xff0c;要求高效利用计算资源。 为了充分利用英特尔架构和提高性能&#xff0c;TensorFlow *库已经使用英特尔MKL-DNN原语进行了优化&#xff0c;该原语是深度学习应用的流行性能库。 已进行优化的平台 …

basePath = request.getScheme()+://+request.getServerName()+:+r

basePath request.getScheme()"://"request.getServerName()":"r (2014-06-30 18:29:54) 转载▼标签&#xff1a; 宠物 分类&#xff1a; JavaString path request.getContextPath();String basePath request.getScheme()"://"request.getSe…

python dump函数_python中实现php的var_dump函数功能

最近在做python的web开发(原谅我的多变&#xff0c;好东西总想都学着。。。node.js也是)&#xff0c;不过过程中总遇到些问题&#xff0c;不管是web.py还是django&#xff0c;开发起来确实没用php方便&#xff0c;毕竟存在的时间比较短&#xff0c;很多不完善的地方。比如我在调…

Go语言的Channel文章,整个人都感觉不好了

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 Go的Channel是一个很强大的并发数据模型&#xff0c;在一个发送者和多个消费者情况下工作得最好&#xff0c;但是如果是多个发送者&#xff0c;那么…

图书管理系统(源码)

本文demo下载地址&#xff1a;http://www.wisdomdd.cn/Wisdom/resource/articleDetail.htm?resourceId1070 实例使用java语言实现了一个网页版的图片管理系统, 系统前端使用bootstrap技术&#xff0c;可以进行浏览器适配, 实现功能: 管理图书管书, 管理图书借还信息&#xff0…

linux 如何禁用账号和解除禁用账号

把账号禁用可以有几个方法&#xff1a;1. # usermod -L <username> # usermod -U <username> // 解除禁用2. 修改/etc/passwd文件&#xff0c;可以有几个地方1&#xff09;把第二个字段中的"x"变成其它的字符&#xff0c;该账号就不能…

maya批量命名插件_教你玩转MAYA的四十二精华造诣(第一期)

最近在整理文档时发现我收藏了一篇关于MAYA应用技巧的文章&#xff0c;突然有兴趣看了看&#xff0c;结果发现老版本MAYA中的某些内容很多已经无法应用于新版本。我又上网查了一下&#xff0c;结果发现网上好多帖子和我收藏的这篇内容基本一致&#xff0c;看来好多都是转载和抄…

Go语言开发常见陷阱,你遇到过几个?

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 Go作为一种简便灵巧的语言&#xff0c;深受开发者的喜爱。但对于初学者来说&#xff0c;要想轻松驾驭它&#xff0c;还得做好细节学习工作。 初学者…

sxoi爆炸祭

好吧&#xff0c;纯粹是去玩玩的&#xff0c;我这么一个弱省的蒟蒻&#xff0c;进队纯粹是开玩笑。。。。 Day0 去五中试机&#xff0c;感觉电脑手感不错&#xff0c;打了半个线段树的板子才发现试机要在自己的电脑上试&#xff0c;然后我无奈的搬东西&#xff08;从26号搬到2号…

wiki多个文件一起导入_mac文件信息管理工具EagleFiler for Mac分享给大家

EagleFiler for mac使得管理您的信息方便。它可以让你存档和搜索邮件&#xff0c;网页&#xff0c;PDF文件&#xff0c;字处理文档&#xff0c;图像&#xff0c;等等。使用它可以从不同的来源收集信息。浏览不同类型的文件采用标准的三窗格界面。组织他们到文件夹中&#xff0c…

【bzoj1951】 Sdoi2010—古代猪文

http://www.lydsy.com/JudgeOnline/problem.php?id1951 (题目链接) 题意 废话一堆。。求解&#xff1a;$$g^{\sum_{d|n} C_n^d}~mod~p$$ Solution 真的是数论经典题&#xff0c;什么都用上了。 因为费马小定理&#xff0c;每$p-1$个$g$相乘会得到$1$&#xff0c;那么容易得到&…

区块链之智能合约详解

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 什么是智能合约&#xff1f; 智能合约又称智能合同&#xff0c;是由事件驱动的、具有状态的、获得多方承认的、运行在区块链之上的、且能够根据预设…

子类化内置类型

Python 2.2之后内置类型开始可以子类化了 但是&#xff0c;CPython中的内置类型不会调用用户重写的类的特殊方法。 PyPy的文档中描述了这个问题。subclasses-of-built-in-types 正式情况下&#xff0c;CPython 并没有官方规定内置类型的子类中重写的方法是否会被隐式调用。基本…

网上商城系统源代码_多用户系统商城授权有几种方式?

网上商城系统一般都需要获取正规授权才可以投入商业使用范围&#xff0c;许多系统开发商为了适应不同企业的需求提供了几种不同的授权方式&#xff0c;企业可以选择合适的方式获得系统的使用权。下面HiShop小编就来为大家介绍一下多用户商城系统的授权方式。一、多用户系统商城…

java学习:对synchronized的测试

平时对synchronized这个关键字没有太在意&#xff0c;对它的认识停留在粗略翻了一下百度百科的状态&#xff0c;百度百科对它的解释是&#xff1a; “Java语言的关键字&#xff0c;可用来给对象和方法或者代码块加锁&#xff0c;当它锁定一个方法或者一个代码块的时候&#xff…

Selenium(3)

练习1&#xff1a;Ecshop  录制登录后退出业务  打开系统  存储页面的标题     a.点击"登录"按钮     b.输入用户名&#xff1a;testing      存储输入的用户名     c.输入密码&#xff1a;123456     d.点击"立即登录"按钮 …

php 爬虫_Rad爬虫结合W13Scan扫描器挖掘漏洞

一、背景这几天一直在研究W13Scan漏洞扫描器&#xff0c;因为对Python不是太熟悉&#xff0c;所以进度有点慢&#xff0c;一直没看懂怎么将代理请求的数据转发到扫描队列中去&#xff0c;决定先熟悉熟悉这个功能再说&#xff1b;Rad爬虫最近比较火&#xff0c;于是就是就选择它…

Python 爬取网页HTML代码

#/usr/bin/env python #-*- coding:utf-8 -*-import urllib2 import sys import chardetreq urllib2.Request("http://tycool.top/") content urllib2.urlopen(req).read() typeEncode sys.getfilesystemencoding()##系统默认编码 infoencode chardet.detect(con…

区块链兼容以太坊智能合约

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 引言 随着区块链技术以及应用的普及&#xff0c;越来越多的区块链出现在大众视野中。由于区块链技术的开源特性&#xff0c;任何公司和个人都可以…

Linux常用命令--网终设置

1、把自己&#xff08;sa&#xff09;添加到sudoers配置文件中&#xff0c;以便于获取权限 vim /etc/sudoers 编辑文件&#xff08;部分centOS版本没有vim命令&#xff0c;则用vi即可&#xff09; 找到【root ALL(ALL) ALL】语句&#xff0c;在下面添加&#xff1a; sa ALL…

python示例异常处理与程序调试_笔记:Python异常处理与程序调试

Python异常处理与程序调试Python提供了强大的异常处理机制&#xff0c;通过捕获异常可以提高程序的健壮性。异常处理还具有释放对象&#xff0c;中止循环的运行等作用。在程序运行的过程中&#xff0c;如果发生了错误&#xff0c;可以返回事先约定的一个错误代码。"try...…

js传入参数为字符串问题

示例&#xff1a; var device_mac"11qweq234ert";//第一种方式会报错&#xff1a;Onclick SyntaxError: identifier starts immediately after numeric literal&#xff0c;数字后面紧跟着字符这种写法只有device_mac是数字的时候是正确的。传入的为字符串则应该使用…

区块链热度背后的资本市场

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 进入2018年之后大家对于加密数字货币以及区块链等话题都各自有各自的意见和想法&#xff0c;很多人觉得区块链技术和加密数字货币是泡沫&#xff…

袋鼠过河(动态规划)

题目描述 一只袋鼠要从河这边跳到河对岸&#xff0c;河很宽&#xff0c;但是河中间打了很多桩子&#xff0c;每隔一米就有一个&#xff0c;每个桩子上都有一个弹簧&#xff0c;袋鼠跳到弹簧上就可以跳的更远。每个弹簧力量不同&#xff0c;用一个数字代表它的力量&#xff0c;如…

jenkins-svn配置

转载于:https://www.cnblogs.com/caer/p/5924337.html

python查看所有异常_如何获取python异常发生的实际行号?

如果你想按你描述的那样做from functools import wrapsimport sys, os, tracebackdef catch_exceptions(function):wraps(function)def decorator(*args, **kwargs):try:return function(*args, **kwargs)except Exception as e:exc_type, exc_obj, exc_tb sys.exc_info()prin…

区块链从一夜暴富到一夜暴“负”的辛酸史

3.15打假日&#xff0c;打假虽然年年有&#xff0c;但与往年有别的是&#xff0c;今年区块连技术得到了诸多重视以及初步发展&#xff0c;一些带有诈骗性质的数字资产交易所在用血腥的方式不断收割着更低层级的用户&#xff0c;而这些平台的受害者&#xff0c;却往往得不到任何…