java时间格式转换
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、获取当前时间
- 二、 获取当前时间戳
- 三、 日期转时间戳
- 四、 时间戳转日期
- 五、 日期转字符串
- 六、 字符串转日期
- 七、 CST格式转日期
- 八、 非标准格式转日期
- 九、 日期字符串格式转换
- 十、 日期转日历
- 十一、 日历转日期
- 十二、日期计算
- 十三、计算日期间隔的方法
- 总结
前言
提示:这里可以添加本文要记录的大概内容:
本文整理一下常用的时间格式转换、计算等方便,共自己及大家共同使用。
提示:以下是本篇文章正文内容,下面案例可供参考
一、获取当前时间
Date date = new Date();
二、 获取当前时间戳
long timestamp = System.currentTimeMillis();
三、 日期转时间戳
Date date = new Date();
String timestamp = String.valueOf(date.getTime());
System.out.println(timestamp);
四、 时间戳转日期
String timestamp = "1521480110000";
Date date = new Date(new Long(timestamp));
System.out.println(date);
五、 日期转字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String dateStr = sdf.format(date);
System.out.println(dateStr);
六、 字符串转日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = "2018-05-16 19:30:20";
Date date = sdf.parse(dateStr);
System.out.println(date);
七、 CST格式转日期
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", java.util.Locale.US); // 注意使用Locale.US参数
String cst = "Tue May 16 19:30:20 CST 2018";
Date date = sdf.parse(cst);
System.out.println(date);
八、 非标准格式转日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");sdf.setLenient(false); // 设置严格验证日期
String dateStr = "20180516";
Date date = sdf.parse(dateStr);
System.out.println(date);
九、 日期字符串格式转换
SimpleDateFormat sdfSource = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat sdfTarget = new SimpleDateFormat("yyyy-MM-dd");
String dateSource = "20180516";
String dateTarget = sdfTarget.format(sdfSource.parse(dateSource));
System.out.println(dateTarget);
十、 日期转日历
Date date = new Date();
Calendar c = Calendar.getInstance();
c.setTime(date);
System.out.println(c);
十一、 日历转日期
Calendar c = Calendar.getInstance();
Date date = c.getTime();
System.out.println(date);
十二、日期计算
public class TestDateCalculateUtil {public static void main(String[] args) throws ParseException {// 日期计算.例子:2018-05-16 19:30:20DateUtils.setYears(new Date(), 2019); // 根据参数设置日期年份.输出:2019-05-16 19:30:20DateUtils.addMonths(new Date(), -1); // 根据参数增加日期月份.输出:2019-04-16 19:30:20DateUtils.truncate(new Date(), Calendar.DATE); // 根据参数截取日期.输出:2019-04-16 00:00:00DateUtils.ceiling(new Date(), Calendar.DATE); // 根据参数向上进位日期.输出:2018-05-17 00:00:00DateUtils.getFragmentInDays(new Date(), Calendar.MONTH); // 根据参数截取范围内日期后返回天数.输出:16DateUtils.truncatedEquals(new Date(), new Date(), Calendar.DATE); //根据参数范围比较日期是否相同,该例子只比较年月日.输出:trueDateUtils.truncatedCompareTo(new Date(), new Date(), Calendar.MONTH); //根据参数范围比较日期大小,该例子只比较年月.输出:0// 举例getFirstSecondOfMonth(); // 获取当月第一秒getLastSecondOfMonth(); // 获取当月最后一秒getDayOfYear(); // 获取日期是该年的第几天getFirstSundayOfMonth(); // 获取当月的第一个周日}public static void getFirstSecondOfMonth() {Date date = new Date();date = DateUtils.truncate(date, Calendar.MONTH); // 截取日期到月份System.out.println(date); // 输出:2018-05-01 00:00:00}public static void getLastSecondOfMonth() {Date date = new Date();date = DateUtils.ceiling(date, Calendar.MONTH); // 向上进位月份date = DateUtils.addSeconds(date, -1); // 减1秒System.out.println(date); // 输出:2018-05-31 23:59:59}public static void getDayOfYear() {Date date = new Date();long day = DateUtils.getFragmentInDays(date, Calendar.YEAR); // 截取年之后的日期部分,并按天数返回System.out.println(day); // 输出:136}public static void getFirstSundayOfMonth() {Date date = new Date();date = DateUtils.setDays(date, 1); // 从该月第一天开始while (true) {Calendar c = Calendar.getInstance();c.setTime(date);if (c.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) { // 比较该天是否为周日System.out.println(date); // 输出:2018-05-06 19:30:20break;} else {date = DateUtils.addDays(date, 1);}}}
}
十三、计算日期间隔的方法
public static void main(String[] args) {// 两个日期之间实际的间隔,并按规定格式返回,如:2018.8.31与2018.9.4 相差5天String period = DurationFormatUtils.formatPeriod(DateUtils.addDays(new Date(), -5).getTime(), new Date().getTime(), "y-M-d");System.out.println(period); // 相差5天,输出:0-0-5// 计算两个月之间的间隔,跨月即算间隔1个月,如:2018.8.31与2018.9.4 相差1个月int periodOfMonth = getPeriodOfMonth(DateUtils.addDays(new Date(), -5), new Date());System.out.println(periodOfMonth); // 相差1个月,输出:1}public static int getPeriodOfMonth(Date dateBegin, Date dateEnd) {Date begin = DateUtils.truncate(dateBegin, Calendar.MONTH);Date end = DateUtils.truncate(dateEnd, Calendar.MONTH);String period = DurationFormatUtils.formatPeriod(begin.getTime(), end.getTime(), "M");return Integer.parseInt(period);}
总结
摘抄一些常用的方法,以便自己使用
java时间格式转换相关推荐
- java时间格式转换_Java时间日期格式转换
突然忘记了时间格式怎么转换,特此做个记录 Java时间格式转换大全 import java.text.*; import java.util.Calendar; public class VeDate ...
- Java时间格式转换大全
Java时间格式转换大全import java.text.*; import java.util.Calendar; public class VeDate { /*** 获取现在时间* * @ret ...
- java时间格式转换_Java中System.currentTimeMillis()计算方式与时间的单位转换
学会与时间赛跑才能赢得时间的尊重,把握好每一天,趁年轻! java中获取系统当前时间相信大家都会,这是经常用到的也是非常简单的,但还是要经常回顾下一些小细节哦! 一.时间的单位转换 1秒=1000毫秒 ...
- java时间格式转换pm,将字符串转换为日期和时间为am / pm格式
string : 2014-04-25 17:03:13 using SimpleDateFormat is enough to format? or otherwise i will shift t ...
- java定义时间格式大全_Java时间格式转换大全
package com.date; import java.text.DateFormat; import java.text.ParseException; import java.text.Par ...
- java格式_java时间格式转换大全
Java时间格式转换大全 import java.text.*; import java.util.Calendar; public class VeDate { /** * 获取现在时间 * * @ ...
- Java日期格式转换
Java时间格式转换大全 import java.text.*; import java.util.Calendar; public class VeDate { /** * 获取现在时间 ...
- java输出格林威治时间_Java之格林威治时间格式转换成北京时间格式
Java之格林威治时间格式转换成北京时间格式 /** * Copyright 2020. yaodouwang.com Studio All Right Reserved * * Create on ...
- Java ISO 8601时间格式转换
String pattern = "YYYY-MM-dd'T'HH:mm:ss.SSSZZ"; String timeStr=DateFormatUtils.format(new ...
- java UTC时间格式转换
UTC时间格式样例:2018-09-28T16:00:00.000Z 本地时间格式样式:2018-09-28 24:00:00 将本地时间格式转换成UTC格式 public static String ...
最新文章
- Selenium3自动化测试——1. 新建第一个Selenium自动化测试脚本
- 一款不错的基于WEB技术的文件服务器
- 在JSP中如何或得当前绝对路径
- python opencv视频处理教程_OpenCV+Python详细教程-图片+视频(一)-Go语言中文社区...
- Cambridge partner
- js 过滤script
- 唯一标识计算机的位置目录与文件的是,计算机应用基础 7.doc
- 喜马拉雅 Apache RocketMQ 消息治理实践
- 数据结构之二叉树的创建
- 【SAP解决方案干货合集】满满的干货,是您了解华为云SAP解决方案的必备利器
- java死锁怎么用jvm调试_性能测试之JVM的故障排查-死锁
- No module named ‘pyqt5‘解决办法
- sql 二进制文件的导入导出
- VSS 2005 配置(含录像)
- 从零开始制作游戏外挂
- adt matlab 加速退化,可靠性加速退化试验
- factorytalk找不到OPC服务器,simatic net 做远程opc服务器问题
- 河大计算机学院足球队,“河大杯”我院足球队两连胜提前晋级淘汰赛
- ADO 从ACCESS数据库读取图片并显示出来
- 有未经处理的异常 0xC00000FD Stack overflow (参数: 0x00000000, 0x00842000)
热门文章
- aspectjweaver.jar包下载
- 用计算机弹出古诗,电脑屏保不断变化的诗句
- Facebook引流到独立站的三种技巧~附保姆级教程
- 飞机遭遇时空乱流离奇穿越到30年前
- Paparazzi UAV Lisa/M2飞控使用说明书
- 王国纪元服务器不稳定,王国纪元闪退怎么解决 游戏闪退解决方法
- 回归方程的拟合优度检验_回归分析的“拟合优度”是什么?
- 计算机更改刷新频率,电脑显示器刷新频率和分辨率怎么修改
- 使用filezilla server搭建ftp服务器
- xml.html一键解密工具,华为配置加解密工具