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)及时区的比较的更多相关文章

  1. JS时间和字符串的相互转换 Date+String

    1.js字符串转换成时间 1.1方法一:输入的时间格式为yyyy-MM-dd function convertDateFromString(dateString) { if (dateString) ...

  2. 转——JAVA中calendar,date,string 的相互转换和详细用法

    package cn.outofmemory.codes.Date; import java.util.Calendar; import java.util.Date; public class Ca ...

  3. C#中字节数组byte[]和字符串string类型的相互转换

    C#中字节数组byte[]和字符串string类型的相互转换: string转byte[]: byte[] byteArray = System.Text.Encoding.Default.GetBy ...

  4. java字符串和时间类型的相互转换

    整理的时间正则可能不全 /****** * * 是以"-" 为分隔符的 * * * * ******/ // 2012-12-03 04:07:34 reg = "\\d ...

  5. [转] java中int,char,string三种类型的相互转换

    原文地址:http://blog.csdn.net/lisa0220/article/details/6649707 如何将字串 String 转换成整数 int? int i = Integer.v ...

  6. Date类型和Long类型的相互转换

    Date类型和Long类型的相互转换: import java.text.SimpleDateFormat; import java.util.Date; public class T { publi ...

  7. java中int,char,string三种类型的相互转换

    如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue(); int i=Integer.parseInt(str); 如何将 ...

  8. js常用API 数据类型 基本类型,基本包装类型,引用类型 Object String Array Boolean Number Date Math

    数据类型 变量.作用域及内存 基础类型(primitive value):Undefined.Null.Boolean.Number和String.这些类型在内存中分别占用固定大小的空间,他们的值保存 ...

  9. Java——string类型与date类型之间的转化

    String类型转化为Date类型 方法一 Date date=new Date("2019-01-25"); 方法二 String =(new SimpleDateFormat( ...

随机推荐

  1. Redis 缓存 + Spring 的集成示例(转载)

    1. 依赖包安装 pom.xml 加入: <dependency> <groupId>org.springframework.data</groupId> < ...

  2. JAVA的get post 区别

    1. get 是从服务器上获取数据,post 是向服务器传送数据. get 请求返回 request - URI 所指出的任意信息.Post 请求用来发送电子邮件.新闻或发送能由交互用户填写的表格.这 ...

  3. MVC使用 Elmah 日志记录组件

    在后台管理中,有一些操作是需要增加操作日志的,尤其是对一些比较敏感的金额类的操作,比如商城类的修改商品金额.删除商品.赠送金额等人工的操作.日志中记录着相关操作人的操作信息,这样,出了问题也容易排查. ...

  4. ​4种实现多列布局css

    摘要: 多列布局在网站应用中也是经常见到的,今天就分享4中多列布局. display:table <style> .table { width: auto; min-width: 1000 ...

  5. 【scala】 scala xml 处理(⑨)

    1.scala 处理xml 2. 获取属性 3.修改节点 4.遍历 5.模式匹配 6.命名空间 7.文件加载 import scala.xml._ /** * @author xwolf * @sin ...

  6. 对象克隆技术Object.clone()

    Java中对象的创建 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象. 所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象. ...

  7. 线程同步 –Mutex和Semaphore

    上一篇介绍了同步事件EventWaitHandle,以及它的两个子类型AutoResetEvent和ManualResetEvent.下面接着介绍WaitHandle的另外两个子类型Mutex和Sem ...

  8. Windows 7 无密码文件共享

    Windows7中创建无密码的文件共享的几个步骤: 在“控制面板\所有控制面板项\网络和共享中心\高级共享设置”开启“关闭密码保护共享”和“启用文件和打印机共享”.关闭密码保护共享的操作会启用Gues ...

  9. Python爬虫学习笔记-2.Requests库

    Requests是Python的一个优雅而简单的HTTP库,它比Pyhton内置的urllib库,更加强大. 0X01 基本使用 安装 Requests,只要在你的终端中运行这个简单命令即可: pip ...

  10. Linux 上安装oracle客户端

    1. 下载安装包 http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html oracle-instantclient11 ...