标签: simpledateformat

java日期格式 - GMT 0700(PDT)

这是我需要处理的日期格式

Wed Aug 21 2013 00:00:00 GMT-0700 (PDT)
Run Code Online (Sandbox Code Playgroud)

但我不知道最后两部分是什么.是GMT-0700固定的吗?它应该是这样的吗?

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss 'GMT-0700' (z)");
Run Code Online (Sandbox Code Playgroud)

java simpledateformat

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

解析日期以删除时区

我使用以下SimpleDateFormat来解析字符串,

 SimpleDateFormat ft= new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy");
 String notimeZone = ft.format(startDateTime);
 Date date = ft.parse(notimeZone);
Run Code Online (Sandbox Code Playgroud)

startDateTime是日期对象,其值格式为“Thu Mar 06 12:27:55 IST 2014”。

notimeZone变量中,我得到了,2014 年 3 月 6 日星期四 12:27:55

我期待可变日期的输出,2014 年 3 月 6 日星期四 12:27:55

但是我变得一样了,星期四 3 月 6 日 12:27:55 IST 2014。

如何从日期对象中删除时区。

请帮忙。

java date simpledateformat

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

有半年和季度年的日期格式吗

是否有任何格式模式可以与 SimpleDateFormat 一起用于季度和半年?

    2007-01-23 expected output `Q1 2007`  
    2007-01-23 expected output `H1 2007`  
Run Code Online (Sandbox Code Playgroud)

java simpledateformat

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

Java SimpleDateFormat 将日期移动一年

我得到了非常奇怪的结果,我无法理解。

public class Test {

  private static DateFormat df = new SimpleDateFormat("dd.MM.YYYY HH:mm");

  public static void main(String[] args) {
    Date d = new Date(1356912000000L);
    System.out.println(d);
    System.out.println(df.format(d));
  }  
}
Run Code Online (Sandbox Code Playgroud)

给出输出:

Mon Dec 31 01:00:00 CET 2012
31.12.2013 01:00
Run Code Online (Sandbox Code Playgroud)

我认为这可能是语言环境的一些问题,但这是整整一年的转变!任何人都可以解释为什么它会以这种方式执行?

java date type-conversion simpledateformat

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

Java 日期格式 - GMT +04:00

我必须解析以下日期

2016 年 9 月 30 日星期五 18:31:00 GMT+04:00

并且它不适用于以下模式:

new SimpleDateFormat("EEE MMM dd HH:mm:ss z YYYY", Locale.ENGLISH);

我得到以下日期作为输出:Fri Jan 01 18:31:00 GMT+04:00 2016。

你能告诉我我做错了什么吗?

java simpledateformat datetime-parsing

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

在 Java (Android) 中获取 YYYY-MM-DD 格式的当前日期

我正在尝试获取Date表示当前系统日期的 YYYY-MM-DD 格式的对象。以下是我的尝试:

Date todayDate = Calendar.getInstance().getTime();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-mm-dd");
String todayString = formatter.format(todayDate);
Run Code Online (Sandbox Code Playgroud)

数值如下:

今天日期:Mon May 15 16:24:47 GMT+01:00 2017

今天字符串:2017-24-15

尝试了几次后,我注意到它todayString不是由 YYYY-MM-DD 组成,而是由 YYYY-[分钟][分钟]-DD 组成。

如何获取 YYYY-MM-DD 格式的当前日期?

java android calendar date simpledateformat

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

Java,将字符串 'yyyy-MM-dd'T'HH:mm:ss' 解析为 ZonedDateTime 而不更改时间

我有一个字符串“2018-07-24T01:30:27”。我想在不更改时间的情况下将其解析为带有 EST 时区的 ZonedDateTime。

我有代码...

String foo = "2018-07-24T01:30:27";
ZoneId zone = ZoneId.of("America/New_York");

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
return simpleDateFormat.parse(foo).toInstant().atZone(zone);
Run Code Online (Sandbox Code Playgroud)

返回值是

2018-07-24T02:30:27-04:00[America/New_York]
Run Code Online (Sandbox Code Playgroud)

我也试过创建这个类,但它没有帮助

@Configuration
public class TimeZoneConfig {

    @PostConstruct
    public void init() {

        TimeZone.setDefault(TimeZone.getTimeZone("EST"));

        System.out.println("Date in UTC: " + new Date().toString());
    }
}
Run Code Online (Sandbox Code Playgroud)

我能得到一些建议吗?

java timezone simpledateformat spring-boot zoneddatetime

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

SimpleDateFormat 显示错误的本地时间

我想将一个包含当前时间和日期的字符串存储到 Android 应用程序的数据库(SQLite)中。为此,我使用 SimpleDateFormat。不幸的是它没有显示正确的时间。我尝试了两种选择。

第一个选项(来自SimpleDateFormat 和 TimeZone

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z", Locale.getDefault());
        sdf.format(new Date());
Run Code Online (Sandbox Code Playgroud)

第二个选项(来自Java SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'") 给出时区为 IST

    SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss'Z'");
    sdf2.setTimeZone(TimeZone.getTimeZone("CEST"));
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,时间都是错误的。我的笔记本电脑或手机显示的不是当地时间,但输出时间早了 2 小时。我怎样才能改变这一点?我希望我的计算机上也显示柏林的当前时间(CEST)。我很欣赏每一条评论。

java android simpledateformat

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

SimpleDateFormat 与 DateTimeFormatter

我有一个用例,我必须比较 2 个字符串日期,例如

final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
 System.out.println(dateFormat.parse("2019-07-07").compareTo(dateFormat.parse("2019-07-07 23:59:59"))>0);
Run Code Online (Sandbox Code Playgroud)

使用 SimpleDateFormat 的上述语句工作得很好,现在我尝试使用 DateTimeFormatter

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        System.out.println( LocalDate.parse("2019-07-07", formatter).compareTo(LocalDate.parse("2019-07-07 23:59:59", formatter))>=0);
Run Code Online (Sandbox Code Playgroud)

这会失败,但有例外:-

Exception in thread "main" java.time.format.DateTimeParseException: Text '2019-07-07 23:59:59' could not be parsed, unparsed text found at index 10
    at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1952)
    at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
    at java.time.LocalDate.parse(LocalDate.java:400)
    at com.amazon.payrollcalculationengineservice.builder.EmployeeJobDataBuilder.main(EmployeeJobDataBuilder.java:226)
Run Code Online (Sandbox Code Playgroud)

如何使用 DateTimeFormatter 避免这种情况,我作为输入传递的字符串可以是任何格式,如 yyyy-mm-dd 或 yyyy-mm-dd hh:mm:ss ,我不想明确编写格式检查,所以可以我使用 DateTimeFormatter 因为我可以使用 SimpleDateFormat 库来做到这一点。

java simpledateformat datetimeformatter

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

如何在 Scala 中将日期格式转换为 UTC?

Scala中如何将日期格式转换"2021-02-28 13:38:00.597+0000""Mon, Feb 28,2021 15:25:00 UTC"UTC格式?

java performance scala date simpledateformat

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