Tag: date

获取Java中时区的夏令时转换日期

我想知道在Java中最简单的方法是获取将来夏令时更改的日期列表。 这样做的一个相当不公平的方法是简单地迭代一堆多年的日子,对TimeZone.inDaylightTime()进行测试。 这会有效,而且我并不担心效率,因为这只需要在每次我的应用程序启动时运行,但我想知道是否有更简单的方法。 如果你想知道为什么我这样做,那是因为我有一个需要处理包含UTC时间戳的第三方数据的javascript应用程序。 我想要一种可靠的方法在客户端从GMT转换到EST。 请参阅Javascript – Unix时间到特定时区我写了一些javascript,它会做,但我想从服务器获得精确的过渡日期。

将日期字符串转换为其他格式

我有一个字符串,其中包含YYYY-MM-DD格式的日期。 您如何建议我以最佳方式将其转换为DD-MM-YYYY格式? 这就是我天真的做法: import java.util.*; public class test { public static void main(String[] args) { String date = (String) args[0]; System.out.println(date); //outputs: YYYY-MM-DD System.out.println(doConvert(date)); //outputs: DD-MM-YYYY } public static String doConvert(String d) { String dateRev = “”; String[] dateArr = d.split(“-“); for(int i=dateArr.length-1 ; i>=0 ; i–) { if(i!=dateArr.length-1) dateRev += “-“; dateRev += dateArr[i]; […]

在Java 1.7.0下运行的SQL-Server(MSSQL-JDBC 3.0)中的日期列检索为过去2天

在官方Oracle JDK 1.7.0下运行时,使用Microsoft JDBC-Driver 3.0版从SQLServer2008检索DATE类型的列时,我会产生奇怪的效果。 主机操作系统是Windows Server 2003。 对于实际存储在列中的值,将过去两天检索所有日期列。 我编写了一个最小的代码示例,测试了这个(测试表和数据): CREATE TABLE Java7DateTest ( dateColumn DATE ); INSERT INTO Java7DateTest VALUES(‘2011-10-10’); 码: public class Java7SQLDateTest { public static void main(final String[] argv) { try { Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”); Connection connection = DriverManager.getConnection( “jdbc:sqlserver://192.168.0.1:1433;databaseName=dbNameHere”, “user”, “password”); PreparedStatement statement = connection.prepareStatement(“SELECT * FROM Java7DateTest”); ResultSet resultSet = statement.executeQuery(); while […]

java sql日期时间

当我将SQL DateTime插入数据库时​​,我得到2007-02-07 12:00:00.00 但我像这样制作了Date对象: 2007-02-07 17:29:46.00 如何获取数据库中秒的值。 它总是将其改回12:00:00.00 date.setYear(Integer.valueOf(parsedDate[2].replaceAll(” “, “”)) – 1900); date.setMonth(Integer.valueOf(parsedDate[0].replaceAll(” “, “”))); date.setDate(Integer.valueOf(parsedDate[1].replaceAll(” “, “”))); … java.sql.Date sqlDate = new java.sql.Date(date.getTime()); 我应该使用任何格式化程序吗?

“EEE MMM dd HH:mm:ss ZZZ yyyy”日期格式为java.sql.Date

我正在尝试将EEE MMM dd HH:mm:ss ZZZ yyyy为YYYY-MM-DD格式,因此我可以将其插入MySQL数据库。 我没有收到任何错误,但插入我的数据库的日期是错误的,每行都是一样的… String date = Sat Mar 04 09:54:20 EET 2017; SimpleDateFormat formatnow = new SimpleDateFormat(“EEE MMM dd HH:mm:ss ZZZ yyyy”); SimpleDateFormat formatneeded=new SimpleDateFormat(“YYYY-MM-DD”); java.util.Date date1 = (java.util.Date)formatnow.parse(date); String date2 = formatneeded.format(date1); java.util.Date date3= (java.util.Date)formatneeded.parse(date2); java.sql.Date sqlDate = new java.sql.Date( date3.getTime() ); pst.setDate(1, sqlDate);

DateTimeFormatter月模式字母“L”失败

我注意到java.time.format.DateTimeFormatter无法按预期解析。 见下文: import java.time.LocalDate; import java.time.format.DateTimeFormatter; public class Play { public static void tryParse(String d,String f) { try { LocalDate.parse(d, DateTimeFormatter.ofPattern(f)); System.out.println(“Pass”); } catch (Exception x) {System.out.println(“Fail”);} } public static void main(String[] args) { tryParse(“26-may-2015″,”dd-L-yyyy”); tryParse(“26-May-2015″,”dd-L-yyyy”); tryParse(“26-may-2015″,”dd-LLL-yyyy”); tryParse(“26-May-2015″,”dd-LLL-yyyy”); tryParse(“26-may-2015″,”dd-M-yyyy”); tryParse(“26-May-2015″,”dd-M-yyyy”); tryParse(“26-may-2015″,”dd-MMM-yyyy”); tryParse(“26-May-2015″,”dd-MMM-yyyy”); } } 只有tryParse(“26-May-2015″,”dd-MMM-yyyy”);的最后一次尝试tryParse(“26-May-2015″,”dd-MMM-yyyy”); 将传递”。 根据文档, LLL应该能够解析文本格式。 也不是大写’M’与小写’m’的细微差别。 这真的很烦人,因为我无法默认解析Oracle DB默认格式化的字符串 SELECT TO_DATE(SYSDATE,’DD-MON-YYYY’) AS dt […]

将字符串解析为本地日期不会使用所需的世纪

我正在使用这个DateTimeFormatter: DateTimeFormatter.ofPattern(“ddMMYY”) 我想解析字符串150790 ,我收到此错误: Unable to obtain LocalDate from TemporalAccessor: {DayOfMonth=15, MonthOfYear=7, WeekBasedYear[WeekFields[MONDAY,4]]=2090},ISO of type java.time.format.Parsed 显然,我想获得以下TemporalAccessor : {DayOfMonth=15, MonthOfYear=7, WeekBasedYear=1990} 你知道我为什么得到2090而不是1990年? 谢谢你的帮助

如何将日期转换为yyyy-MM-dd格式?

2012年12月1日00:00:00 GMT 我必须将上述日期转换为以下格式 2012年12月1日 我怎么能够? 我试过以下方法,但它没有工作 public Date ConvertDate(Date date){ DateFormat df = new SimpleDateFormat(“yyyy-MM-dd”); String s = df.format(date); String result = s; try { date=df.parse(result); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } return date; }

计算Java中日期的差异

我觉得Java(或java.util库)没有内置函数来计算日期差异很有趣。 我想从另一个日期中减去一个日期以获得它们之间的经过时间。 做这个的最好方式是什么? 我知道简单的方法是以毫秒为单位取时间差,然后将其转换为天。 但是,我想知道这是否适用于所有情况(夏令时等)。