相关疑难解决方法(0)

如何设置java.util.Date的fastTime?

这与如何设置java.util.Date的时区有关?

我试图在eclipse调试器中设置值

private transient long fastTime;
Run Code Online (Sandbox Code Playgroud)

在一个java.util.Date.

我想在2010年1月1日的某个时间设置日期,该日期基于http://www.epochconverter.com是值(以毫秒为单位)1262362075000.

这个字段应该是long类型的但是当我尝试设置这个字段时(fastTime)我被eclipse告知这个值对于字段来说太大了.

我究竟做错了什么?

在此输入图像描述

java eclipse debugging

2
推荐指数
1
解决办法
6238
查看次数

将完整的Java日期(例如,2013-06-19 8.00)转换为一个时间(即1970-01-01的早上8点)

作为某些逻辑的一部分,在我的程序中有必要将长Java时间戳(包括年,月等)转换为"短"Java时间.这应该对应于原始时间的完全相同的小时,分​​钟和秒,但是在1970年1月1日的1天内(即0(00:00:00)和86400000(23:59:59)之间的值).一个例子是问题中的转换.

为了执行此操作,我认为以下代码将起作用:

public int convertToTime(long fullTimeStamp) {
    Calendar c = Calendar.getInstance();
    c.setTimeInMillis(date);
    c.set(Calendar.DATE, 1);
    c.set(Calendar.MONTH, 0);
    c.set(Calendar.YEAR, 1970);
    return (int) c.getTimeInMillis();
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是与时区有关.在英国,我们目前在BST.使用该功能设置所有值后,时间保持相同的数字(例如,早上8点),但将时区更改为GMT!格林威治标准时间早上8点与BST早上8点不一样,而是等于早上9点BST.

向该函数添加一些控制台输出会演示此问题:

public int convertToTime(long fullTimeStamp) {
    System.out.println(new Date(fullTimeStamp)); // correct

    Calendar c = Calendar.getInstance();
    c.setTimeInMillis(fullTimeStamp);

    System.out.println(c.getTime()); // correct

    c.set(Calendar.DATE, 1);
    c.set(Calendar.MONTH, 0);
    c.set(Calendar.YEAR, 1970);

    System.out.println(c.getTime()); // incorrect!

    return (int) c.getTimeInMillis();
}
Run Code Online (Sandbox Code Playgroud)

节目输出:

Wed Jun 19 12:15:00 BST 2013 // ok
Wed Jun 19 12:15:00 BST 2013 // this makes sense
Thu Jan 01 12:15:00 GMT 1970 // …
Run Code Online (Sandbox Code Playgroud)

java time timezone datetime

1
推荐指数
1
解决办法
734
查看次数

从给定字符串获取 LocalDateTime 对象?

"2021-09-17 11:48:06 UTC"
Run Code Online (Sandbox Code Playgroud)

我想解析以下字符串并创建一个LocalDateTime对象或Instant

我知道你可以写这样的东西

String dateTime = "2021-09-17 11:48:06 UTC";
LocalDateTime dt = LocalDateTime.parse(dateTime,DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
Run Code Online (Sandbox Code Playgroud)

如何处理UTC字符串中的部分?

java java-time localdatetime

1
推荐指数
1
解决办法
458
查看次数

在 Date Java 中设置时区

尝试在 Date 中设置时区(我知道 Date 已弃用)

    LOG.error(modifiedDate + "Date in service"); //Mon Sep 21 06:15:00 CDT 2020
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z", Locale.ENGLISH);
format.setTimeZone(TimeZone.getDefault());
String dateString = format.format(modifiedDate);
LOG.error(dateString + "  dateString"); //2020-09-21 06:15:00 -0500
Date date = format.parse(dateString);
LOG.error(date + "    date after parsing"); //Mon Sep 21 06:15:00 CDT 
Run Code Online (Sandbox Code Playgroud)

解析后时区没有改变,我错过了什么?

java date

0
推荐指数
1
解决办法
74
查看次数

为什么在Java日历对象上设置时区没有效果?

请考虑以下代码段.

    TimeZone tz = TimeZone.getTimeZone("GMT");
    System.out.println(tz);

    Calendar cal = Calendar.getInstance();
    cal.set(2017, Calendar.DECEMBER, 25);

    System.out.println("before setting time zone: " + cal.getTime());
    cal.setTimeZone(tz);

    System.out.println("after setting time zone: " + cal.getTime());
Run Code Online (Sandbox Code Playgroud)

结果如下:

sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null]
before setting time zone: Mon Dec 25 22:39:53 EST 2017 
after setting time zone: Mon Dec 25 22:39:53 EST 2017
Run Code Online (Sandbox Code Playgroud)

在时区更改后,为什么日期的打印输出仍显示EST?不应该是GMT吗?

java timezone datetime calendar date

-1
推荐指数
1
解决办法
628
查看次数

如何在Java中获取+0000的UTC格式?

我想将日期格式从 更改"20230523154325"2023-05-23T15:43:25+0000".
我有这段代码,但不幸的是结果是这样的:"2023-05-23T15:43:25+0300"
所以我不想拥有,我想最后+0300拥有。+0000所以,这部分应该是完全相同的2023-05-23T15:43:25,而不是+0300应该是+0000+0000把这个放在最后很重要。任何反馈将不胜感激!

public static void main(String[] args) {
    String oldDate = "20230523154325";
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
    Date newDateFormat = null;

    try {
        newDateFormat = sdf.parse(oldDate);
    } catch (ParseException e) {
        throw new RuntimeException(e);
    }
    
    SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
    System.out.println("The date is " + sdf1.format(newDateFormat));
}
Run Code Online (Sandbox Code Playgroud)

java datetime date utc

-3
推荐指数
1
解决办法
163
查看次数

标签 统计

java ×6

date ×3

datetime ×3

timezone ×2

calendar ×1

debugging ×1

eclipse ×1

java-time ×1

localdatetime ×1

time ×1

utc ×1