Java 日期转换

涉及的核心类:Date类、SimpleDateFormat类、Calendar类

一、 Date型与long型

Date型转换为long型

Date date = new Date();//取得当前时间Date类型

long date2long = date.getTime();//Date转long

long型转换为Date型

long cur = System.currentTimeMills();//取得当前时间long型返回

Date long2date = new Date(cur);//long转Date

二、Date型与String型

Date型转换为String型

Date date = new Date();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");//设置目标转换格式为yyyy-MM-dd HH:mm:ss.SSS

String date2string = sdf.format(date);//Date转String

String型转换为Date型

String str="2001-11-03 11:12:33.828";//设置初始string类型日期

Date str2date=sdf.parse(str);//String转Date

三、Date型与Calendar型

Date型转换为Calendar型

Calendar cal = Calendar.getInstance();//取得当前时间Calendar类型

cal.setTime(date); //Date转Calendar

Calendar型转换为Date型

Calendar cal = Calendar.getInstance();//取得当前时间Calendar类型

Date cal2date = cal.getTime();//Calendar转Date

四、总结

String与基本类型之间的转换依靠的是String.valueOf()方法

Date与String类之间的转换依靠的是SimpleDateFormat类

Date与long转换依靠的是Date提供的构造以及getTime()方法

Date与Calendar转换依靠的是Calendar提供的setTime()及getTime()方法

五、面试题

Q:写一个方法,参数是Date date,将date往后推3天,在以“yyyy-mm-dd”格式返回字符串类型

public String add3Day(Date date) throws ParseException{

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Calendar cal = Calendar.getInstance();

cal.setTime(date);//Date转换为Calendar

cal.add(Calendar.DATE, 3);//将日期往后推3天,减少3天则-3. 月增加则Calendar.MONTH

String after = sdf.format(cal.getTime());//Calendar转换为Date,再转换为String

return after;

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

java程序日期转换_Java 日期转换详解及实例代码相关推荐

  1. java super实例_java Super 用法详解及实例代码

    java Super 用法详解及实例代码 发布于 2021-1-8| 复制链接 摘记: java  Super 用法详解 1)有人写了个很好的初始化属性的构造函数,而你仅仅想要在其中添加另一些自己新建 ...

  2. python随机数程序源码_Python 实现随机数详解及实例代码

    Python3实现随机数 random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串. random.seed(x)改变随机数生成器的种子seed. 一般不必特别去设定seed,Pyth ...

  3. java lock代码写法_java Lock接口详解及实例代码

    java  lock接口 java.util.concurrent.locks 接口lock public interface loce loce实现提供了比使用synchronized方法和语句可获 ...

  4. Java 线程池详解及实例代码

    转载自  Java 线程池详解及实例代码 这篇文章主要介绍了Java 线程池的相关资料,并符实例代码,帮助大家学习参考,需要的朋友可以参考下 线程池的技术背景 在面向对象编程中,创建和销毁对象是很费时 ...

  5. 一文数学数模-相关性分析(二)斯皮尔曼相关(spearman)相关性分析一文详解+python实例代码

    前言 相关性分析算是很多算法以及建模的基础知识之一了,十分经典.关于许多特征关联关系以及相关趋势都可以利用相关性分析计算表达.其中常见的相关性系数就有三种:person相关系数,spearman相关系 ...

  6. JavaScript 身份证号有效验证详解及实例代码

    这篇文章主要介绍了JavaScript 身份证号有效验证详解及实例代码的相关资料,需要的朋友可以参考下 JavaScript验证身份证号 1 2 3 4 5 6 7 8 9 10 11 12 13 1 ...

  7. 坐标移动c语言,C语言 坐标移动详解及实例代码

    搜索热词 题目描述 开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动.从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面. ...

  8. Flutter中Scaffold布局的使用详解及实例代码

    Flutter中Scaffold布局的使用详解及实例代码 Scaffold实现了基本的Material布局.只要是在Material中定义了的单个界面显示的布局控件元素,都可以使用Scaffold来绘 ...

  9. mysql 字段 as_mysql 字段as详解及实例代码

    mysql 字段使用as 在mysql中,select查询可以使用AS关键字为查询的字段起一个别名,该别名用作表达式的列名,并且别名可以在GROUP BY,ORDER BY或HAVING等语句中使用. ...

  10. java技术详解_Java反射技术详解及实例解析

    前言 相信很多人都知道反射可以说是Java中最强大的技术了,它可以做的事情太多太多,很多优秀的开源框架都是通过反射完成的,比如最初的很多注解框架,后来因为java反射影响性能,所以被运行时注解APT替 ...

最新文章

  1. 并发编程实战-读书笔记
  2. [转]数据结构:图的存储结构之邻接多重表
  3. linux iptables 命令简介
  4. mysql 审计(audit)
  5. 云栖第一天:解密两个100%背后的云原生
  6. django查询集-17
  7. ubuntu12 04下django安装略谈
  8. pyqt5 python2.7_python2.7 安装pyqt5
  9. hadoop yarn 获取日志_Hadoop YARN日志查看方式
  10. POJ2356 Find a multiple 鸽巢原理
  11. 每日一题/005/矩阵/数学归纳法/设A的顺序主子式均不为0.则有下三角矩阵B,使得BA是上三角矩阵,
  12. openstack里给云主机配置vip
  13. Win10应用商店无法加载页面,错误代码0x80131500怎么办
  14. 计算机需要权限来执行此操作 win7,win7系统删除提示“文件夹访问被拒绝,需要权限执行此操作”怎么办...
  15. [质因数分解]樱花 洛谷P1445
  16. opencv 使用 GPU 加速
  17. 【已解决】使用keras对resnet, inception3进行fine-tune出现训练集准确率很高但验证集很低的问题(BN)
  18. vue3+ant design vue+ts实战【ant-design-vue组件库引入】
  19. /boot空间不足的解决办法
  20. arduino 驱动_Arduino驱动的My Little Pony捐款箱

热门文章

  1. 金三银四跳槽面试季,我整理前端知识做了个网站
  2. 海思芯片硬件java加速_海思芯片直播延迟测试结果(小于100毫秒)
  3. ug11 linux,UG11.0升级包MP02Win#Linux系统下载就上UG网
  4. java开发门禁指纹,指纹门禁
  5. 【Java必备资料包】
  6. function——函数声明头的提升和预解析
  7. oracle 执行多条insert 语句
  8. Common Knowledge_快速幂
  9. [傅里叶变换及其应用学习笔记] 二十四. 级联,脉冲响应
  10. Github链接地址