时间的类型的相互转换(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( ...
随机推荐
- PHP数组排序函数array_multisort()函数详解(二)
array_multisort()这个函数可以对多个PHP数组进行排序,排序结果是所有的数组都按第一个数组的顺序进行排列 例如array_multisort($a,$b),$a,$b是两个数组,如果排 ...
- Launchpad图标大小怎么调整?
一.首先运行“终端”程序,执行以下命令: 1.调整每一列显示图标数量,7 表示每一列显示7个 defaults write com.apple.dock springboard-rows -int 7 ...
- [转帖]HTML5 Audio/Video 标签,属性,方法,事件汇总
HTML5 Audio/Video 标签,属性,方法,事件汇总 <audio>标签属性: src:音乐的URL preload:预加载 autoplay:自动播放 loop:循环播放 co ...
- git远端删除被提交后又被加到.gitignore的文件
远端删除文件而不影响本地文件 git rm [-r] --cached file_or_dir_name 利用.gitignore来自动删除所有匹配文件 我试过网上推荐的写法 git rm --cac ...
- kafka学习之-KafkaOffsetMonitor后台监控
1.下载Kafka Consumer Offset Monitor安装包 http://pan.baidu.com/s/1ntzIUPN 2.在/usr/local/hadoop路径下面建立放置Kaf ...
- 小程序navigator跳转路径url写法
小程序navigator跳转路径url要写 要跳转的的页面文件夹相对于当前页面的页面文件夹的位置,即相对路径. 比如我当前页面跳转到同级目录下的另一个页面如下: <navigator url= ...
- vue加百度统计代码(亲测有效)
申请百度统计后,会得到一段JS代码,需要插入到每个网页中去,在Vue.js项目首先想到的可能就是,把统计代码插入到index.html入口文件中,这样就全局插入,每个页面就都有了;这样做就涉及到一个问 ...
- win8.1的ie11无法打开127.0.0.1和本机IP访问
解决方法:把ie11安全选项里的启动保护模式对勾去掉!
- [Err] 1231 - Variable 'sql_mode' can't be set to the value of 'NULL
在MYSQL还原语句的时候,报: [Err] - Variable 'sql_mode' can't be set to the value of 'NULL 解决办法:打开SQL语句,把里面的注释给 ...
- mysql中date_add()函数的使用?
需求描述: 在使用mysql的过程中,需要对日期进行计算,比如对某个日期加上几天,几个小时等操作, 在此记录下,date_add()函数的使用. 操作过程: date_add()函数语法: DATE_ ...