Tag: datetime

将日历对象转换为java格式的字符串,格式为“yyyy-mm-dd hh:mm:ss”

我正在将字符串中存储在日历对象中的日期转换为MySQL中的查询。 我需要格式为“yyyy-MM-dd HH:mm:ss”的字符串,即:“2010-01-01 15:30:00”。 我正在使用如下代码: Calendar TimeStop = Calendar.getInstance(); TimeStop.set(2010, 01, 01, 15, 30, 0); SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); String TimeStop_Str = sdf.format(TimeStop.getTime()); 现在,字符串,而不是像我期望的那样“2010- 01 -01 15:30:00”是“2010- 02 -01 15:30:00”。 我已经在http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html上检查了解析器公式中可能存在的错误(例如,月份或资本HH的资本MM)几个小时)但它没有奏效。 我想我应该设置一些其他领域,或者可能还有另一种方法……任何想法?

基于区域设置的Joda-Time DateTime格式

我从另一个系统收到一个字符串日期,我知道该日期的区域设置(也可从其他系统获得)。 我想将此String转换为Joda-Time DateTime对象,而不显式指定目标模式。 因此,例如,我想将此字符串“09/29/2014”仅使用区域设置转换为日期对象,而不是将日期格式硬编码为“mm / dd / yyyy”。 我不能对格式进行硬编码,因为这会根据我收到的日期的当地情况而有所不同。

在Java中将字符串转换为OffsetDateTime

我试图在OffsetDateTime转换一个字符串,但低于错误。 java.time.format.DateTimeParseException: Text ‘20150101’ could not be parsed: Unable to obtain OffsetDateTime from TemporalAccessor: {},ISO resolved to 2015-01-01 of type java.time.format.Parsed 代码: OffsetDateTime.parse(“20150101”, DateTimeFormatter.ofPattern(“yyyyMMdd”)); 预期输出: OffsetDateTime object with date 20150101. 我非常感谢您提供的任何帮助。 谢谢,

Java获得UTC时间

我想在UTC时区获得时间。 所以我写了代码: import java.time.ZoneOffset; import java.time.ZonedDateTime; import java.util.Date; public class RegularSandbox { public static void main(String[] args) { ZonedDateTime utc = ZonedDateTime.now(ZoneOffset.UTC); System.out.println(“DATETIME = ” + Date.from(utc.toInstant())); } } 问题是输出显示了我在PST(我当地时区)的时间。 我需要它以UTC格式输出时间,以便将其存储在我的数据库中。

mysql中的UTC日期

我有一个表格,其数据类型为DATETIME。 我使用java在此表中保留记录,并按如下方式计算当前日期。 Date date = Calendar.getInstance(TimeZone.getTimeZone(“UTC”)).getTime(); 但是当我检查我的桌子时,它再次将此时间转换为当地时区。 有人可以向我解释,如何在数据库中以UTC时区存储日期。 @码 我有一个db实体’Referral’对应于具有日期成员数据类型的表作为java.util.Date并使用hibernate来保存它。 Referral ref = new Referral(); ref.setCreationDate(Calendar.getInstance(TimeZone.getTimeZone(“UTC”)).getTime()); referralDAO.save(ref); 谢谢 Jitendra

使用Joda-Time Library将字符串转换为Google Tasks API中的DateTime格式

我有一个日期/时间字符串需要发送到Google Tasks API,但我无法弄清楚如何将Joda-Time库DateTime对象转换为Java DateTime对象。 我使用Android作为平台。 该字符串以“2012/07/19 22:00:00”开头,并首先转换为Iso格式。 这是我的代码: Task task = new Task(); task.setTitle(title); task.setNotes(note); DateTimeFormatter formatter = DateTimeFormat.forPattern(“yyyy/MM/dd HH:mm:ss”); DateTime dt = formatter.parseDateTime(dateToIso(“2012/07/19 22:00:00”)); task.setDue(dt); private String dateToIso(String date) { date = date.replace(“/”, “-“); date = replaceCharAt(date, 10, ‘T’); date = date + “.000Z”; return date; } 我得到的错误是: “类型不匹配:无法从org.joda.time.DateTime转换为com.google.api.client.util.DateTime” 请协助。 有关ISO转换的信息也很有用。

为什么在1582之前将Java日期转换为使用Instant的LocalDate给出不同的日期?

考虑以下代码: Date date = new SimpleDateFormat(“MMddyyyy”).parse(“01011500”); LocalDate localDateRight = LocalDate.parse(formatter.format(date), dateFormatter); LocalDate localDateWrong = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()).toLocalDate(); System.out.println(date); // Wed Jan 01 00:00:00 EST 1500 System.out.println(localDateRight); // 1500-01-01 System.out.println(localDateWrong); // 1500-01-10 我知道1582年是Julian和Gregorian日历之间的截止点。 我不知道为什么会发生这种情况,或者如何调整它。 这是我到目前为止所发现的: 日期对象的BaseCalender设置为JulianCalendar date.toInstant()只返回Instant.ofEpochMilli(getTime()) date.getTime()返回-14830974000000 -14830974000000是Wed,10 Jan 1500 05:00:00 GMT Gregorian 所以似乎getTime()返回的millis是错误的(不太可能)或者只是与我预期的不同而且我需要考虑差异。

日期格式JAVA

我想格式化2012-05-04 00:00:00.0到04-MAY-2012 。 我已经尝试过以下步骤。 SimpleDateFormat sdf = new SimpleDateFormat( “yyyy-MM-dd ‘T’ HH:mm:ss.SSS”); Date date; String dateformat = “”; try { date = sdf.parse(“2012-05-04 00:00:00.0”); sdf.applyPattern(“DD-MON-RR”); dateformat = sdf.format(date); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } 但我得到了以下exception。 java.text.ParseException: Unparseable date: “2012-05-04 00:00:00.0” at java.text.DateFormat.parse(DateFormat.java:337) at com.am.test.Commit.main(Example.java:33)` 我怎么能这样做?

Java8 – 如何知道现在是否节省了夏令时

我需要知道现在是否使用新的Java 8日期时间类来节省夏令时。 我在jodatime中找到了如何执行此操作的条目: jodatime如何知道夏令时是否已经开启 但是我怎样才能在Java 8中找到它? (jodatime应该有点类似,但我找不到相应的方法java.time.ZonedDateTime.isStandardOffset()) 谢谢你的帮助

在Java中操作日期和时间戳的最佳方法是什么?

每当我需要使用Java中的日期和/或时间戳时,我总是觉得我做错了什么并花费无数个小时试图找到一种更好的API工作方式,而无需编写我自己的日期和时间实用程序类。 这是我遇到的一些烦人的事情: 基于0的月份。 我意识到最好的做法是使用Calendar.SEPTEMBER而不是8,但令人讨厌的是8代表9月而不是8月。 获取没有时间戳的日期。 我总是需要将日期的时间戳部分归零的实用程序。 我知道我过去还有其他问题,但不记得了。 随意在您的回复中添加更多内容。 所以,我的问题是……你使用什么第三方API来简化Java对日期和时间操作的使用,如果有的话? 有关使用Joda的任何想法? 有人仔细观察JSR-310 Date and Time API吗?