时间的类型的相互转换(date/String)及时区的比较
String ->Date ->String
@Test
public void date() throws ParseException{
String sdate = "01-01-2025";
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
Date date = sdf.parse(sdate);
System.out.println("--date--"+date); sdate = (new SimpleDateFormat("yyyy-MM-dd")).format(date); System.out.println("---String---"+sdate);
}
打印结果:
--date--Wed Jan 01 00:00:00 CST 2025
---String---2025-01-01
XMLGregorianCalendar -> Date -> String
/**
* 将Date类转换为XMLGregorianCalendar
* @param date
* @return
*/
public static XMLGregorianCalendar dateToXmlDate(Date date){
Calendar cal = Calendar.getInstance();
cal.setTime(date);
DatatypeFactory dtf = null;
try {
dtf = DatatypeFactory.newInstance();
} catch (DatatypeConfigurationException e) {
}
XMLGregorianCalendar dateType = dtf.newXMLGregorianCalendar();
dateType.setYear(cal.get(Calendar.YEAR));
//由于Calendar.MONTH取值范围为0~11,需要加1
dateType.setMonth(cal.get(Calendar.MONTH)+);
dateType.setDay(cal.get(Calendar.DAY_OF_MONTH));
dateType.setHour(cal.get(Calendar.HOUR_OF_DAY));
dateType.setMinute(cal.get(Calendar.MINUTE));
dateType.setSecond(cal.get(Calendar.SECOND));
return dateType;
} /**
* 将XMLGregorianCalendar转换为Date
* @param cal
* @return
*/
public static Date xmlDate2Date(XMLGregorianCalendar cal){
return cal.toGregorianCalendar().getTime();
}
有关TimeZone的计算
/**
* Convert the string date value to date value.
*
* @param format
* - Time pattern for this date format.
* @param dateStr
* - String date value to be converted.
* @return Date value for the input date string.
*/
public static Date getStrToGMTDate(final String format, final String timeZoneOffset, final String dateStr) throws ParseException {
Date result = null;
if (!StringUtils.isEmpty(dateStr)) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
TimeZone tz=TimeZone.getTimeZone(TIMEZONE_GMT+timeZoneOffset);
simpleDateFormat.setTimeZone(tz);
simpleDateFormat.applyPattern(format);
simpleDateFormat.setLenient(false);
result = simpleDateFormat.parse(dateStr);
}
return result;
}
@Test
public void date1() { String departureDateTimeStr = "2017-05-04 10:00";
LocalDateTime departureDateTime = LocalDateTime.parse(departureDateTimeStr,
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")); ZoneOffset offset = ZoneOffset.of("+08:00");
long hours = Instant.now().until(departureDateTime.toInstant(offset), ChronoUnit.HOURS);
// Check if the hour difference is more than 24 hours
if (hours >= ) {
System.out.println("----------" + hours);
}
}
----------26
参考资料:
http://www.howsoftworks.net/javaapi/java.time/indexlocaldatetime.html
https://docs.oracle.com/javase/8/docs/api/java/time/ZoneOffset.html
时间的类型的相互转换(date/String)及时区的比较的更多相关文章
- JS时间和字符串的相互转换 Date+String
1.js字符串转换成时间 1.1方法一:输入的时间格式为yyyy-MM-dd function convertDateFromString(dateString) { if (dateString) ...
- 转——JAVA中calendar,date,string 的相互转换和详细用法
package cn.outofmemory.codes.Date; import java.util.Calendar; import java.util.Date; public class Ca ...
- C#中字节数组byte[]和字符串string类型的相互转换
C#中字节数组byte[]和字符串string类型的相互转换: string转byte[]: byte[] byteArray = System.Text.Encoding.Default.GetBy ...
- java字符串和时间类型的相互转换
整理的时间正则可能不全 /****** * * 是以"-" 为分隔符的 * * * * ******/ // 2012-12-03 04:07:34 reg = "\\d ...
- [转] java中int,char,string三种类型的相互转换
原文地址:http://blog.csdn.net/lisa0220/article/details/6649707 如何将字串 String 转换成整数 int? int i = Integer.v ...
- Date类型和Long类型的相互转换
Date类型和Long类型的相互转换: import java.text.SimpleDateFormat; import java.util.Date; public class T { publi ...
- java中int,char,string三种类型的相互转换
如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue(); int i=Integer.parseInt(str); 如何将 ...
- js常用API 数据类型 基本类型,基本包装类型,引用类型 Object String Array Boolean Number Date Math
数据类型 变量.作用域及内存 基础类型(primitive value):Undefined.Null.Boolean.Number和String.这些类型在内存中分别占用固定大小的空间,他们的值保存 ...
- Java——string类型与date类型之间的转化
String类型转化为Date类型 方法一 Date date=new Date("2019-01-25"); 方法二 String =(new SimpleDateFormat( ...
随机推荐
- fiddler 工具使用配置
前言: 之前为了手动测试项目组之间提供的接口,确定到底是哪一个接口出了问题.一般情况下,我们都直接采用了 Google 浏览器上,F12 后,Network 找到想要的 URL,然后,直接在浏览器上访 ...
- .net网站建设页面提交后css失效的问题
问题描述:.net网站建设在提交后出现css部分失效,如div位置,字体大小. 问题解决:原因是,过去的提示语句我们一律使用了Response.write("<script>al ...
- TXT文件用法大全【荐】--------按键精灵
来源:全文链接 (3)读取TXT文件指定某一行的第?到第?个字 UserVar t=2 "读出txt第几行文本" UserVar i=5 "从第几个字开始读取" ...
- 【WP8】ResourceDictionary
WP8中引用资源字典 当我们定义的样式太多的时候,我们可以把样式分别定义在不同的文件中,然后通过 MergedDictionaries 应用到其他资源字典中,看下面Demo 我们可以把样式定义在多个文 ...
- Uploading File using Ajax and receiving binary data in Asp.net (C#)[转]
基础知识,可由此衍生.原文:http://uniapple.net/blog/?p=2050 In this post, I will show you how to upload a file us ...
- ffmpeg把ts文件转m3u8并切片
Linux_x86_64流媒体环境:nginx + EasyDarwin-master 客户端播放器:VLC media player 下载windows下的ffmepg二进制版本,请进网站http: ...
- Unity三消算法
消除算法图文详解 三消算法首要实现的就是找到所有三个或三个以上的可消除对象,但直接找到这些对象是不太现实的,所以我们要将需求拆分.可不可以先获取所有图案相连的对象,进而在获取三消对象,这个算法也是众多 ...
- 提供json格式数据,去掉引号的方法
java文件中 String jsondata = json.toString();InputStream inputStream = new StringBufferInputStream(json ...
- javascript的闭包计数器实现,python实现各种方法来实现计数器
菜鸟教程的javascript闭包章节中,演示了js计数器的实现. 教程地址 http://www.runoob.com/js/js-function-closures.html 代码1 var ...
- Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 说在前面的话 首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...