标签: simpledateformat

How to format a date to following format day.month.year?

I need to format a date to following format: 10.12.2014 and I am using the following code but it returns following error

   Messages:    
   Unparseable date: "2014-12-10"
Run Code Online (Sandbox Code Playgroud)

Code

   SimpleDateFormat formatter = new SimpleDateFormat("dd.mm.yyyy");
   Date date = formatter.parse(param.getFromDate());
   String formattedDate = formatter.format(date);
Run Code Online (Sandbox Code Playgroud)

java calendar simpledateformat

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

“Fri Jun 05 00:00:00 PDT 2015”的日期格式是什么

我正在尝试确定要使用的 java 日期格式字符串

"Fri Jun 05 00:00:00 PDT 2015"
Run Code Online (Sandbox Code Playgroud)

现在我正在使用

SimpleDateFormat format = new SimpleDateFormat("EEE MM dd HH:mm:ss zzzz yyyy");
Run Code Online (Sandbox Code Playgroud)

但这会产生

  com.fasterxml.jackson.databind.JsonMappingException: 
  java.text.ParseException: Unparseable date: "Fri Jun 05 00:00:00 PDT 2015" 
  (through reference chain:....
Run Code Online (Sandbox Code Playgroud)

java date-format simpledateformat

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

以 ISO 8601 格式生成昨天的日期时间字符串

在Android中,我用来java.util.Calendar获取格式为昨天的日期yyyy-MM-dd'T'hh:mm:ss'Z'。例如,如果今天是31 May 2017,我想将昨天的日期设为2017-05-30T00:00:00Z

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);

// Date End = yesterday
calendar.add(Calendar.DATE, -1);
Date dateEnd = calendar.getTime();

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss'Z'");
this.dateEndStr = formatter.format(dateEnd);
Run Code Online (Sandbox Code Playgroud)

我期望输出为2017-05-30T00:00:00Z. 但它给了我2017-05-30T12:00:00Z

这里有什么问题吗?与时区有关吗?我的时区是GMT/UTC + 08:00 hour.

java android calendar date simpledateformat

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

无法解析的日期:“周中的日期名称”(SimpleDateFormat)

我正在尝试将日期从String转换为Date对象:

String dateString = "Mon, 04 Sep 2017 18:30:28";
String dateFormat = "EEE, dd MMM yyyy HH:mm:ss";
Run Code Online (Sandbox Code Playgroud)

导致以下异常:

java.text.ParseException:无法解析的日期:“2017 年 9 月 4 日星期一 18:30:28”

我尝试了不同的字符串和格式,问题似乎是周的名称('EEE')。没有它可以完美运行。

这也很完美:

String dateString = "04 Sep 2017 18:30:28, Mon";
String dateFormat = "dd MMM yyyy HH:mm:ss, EEE";
Run Code Online (Sandbox Code Playgroud)

java date simpledateformat datetime-parsing

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

从毫秒转换为日期字符串

我尝试从毫秒转换为日期字符串。但是,结果并不像我预期的那样正确。

输入是毫秒(例如:1508206600485

我的时区是 UTC +10:00

------Expected-------------------------------------------- Actual------

01:32 (PM) 17/10/2017--------------------------------02:32 (PM) 17/10/2017
Run Code Online (Sandbox Code Playgroud)

这是方法

public static String getDate(long milliSeconds) {
    SimpleDateFormat formatter = new SimpleDateFormat("hh:mm dd/MM/yyyy");
    String dateString = formatter.format(new Date(milliSeconds));
    return dateString;
}
Run Code Online (Sandbox Code Playgroud)

java datetime simpledateformat datetime-conversion

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

SimpleDateFormat 给出的错误日期值

我正在开发一个 android 应用程序,当我需要将我的当前日期发送到服务器时,我得到了我的实际日期currentTime = Calendar.getInstance().getTime();,我正在使用SimpleDateFormat 解析它"yyyy/MM/DD",但是我得到的一天的值非常奇怪:38

有我正在使用的代码:

 currentTime = Calendar.getInstance().getTime();
 SimpleDateFormat df1 = new SimpleDateFormat("yyyy/MM/DD");
 String formattedDate1 = df1.format(currentTime.getTime());
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

注意:返回的日期值currentTime是正确的

PS:此代码前几天工作正常!

java android simpledateformat

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

Groovy 中的日期格式

package com.javacodegeeks.groovy.date
class GroovyDateArithmetic {
static main(args) {
def date = new Date().parse("dd.MM.yyy", '18.05.1988')
def datePlus = date.clone()
def dateMinus = date.clone()
datePlus = datePlus + 5
println datePlus 
Run Code Online (Sandbox Code Playgroud)

上面的代码将打印 Mon May 23 00:00:00 EST 1988。如何格式化最终结果以生成 Mon May 23 1988。

java groovy date simpledateformat

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

如何在Java中将简单日期格式化程序格式化为dd-3字母月-yyyy?

我有一个简单的日期格式化程序,格式如下:

private static final String DATE_FORMAT = "yyyy-MM-dd";
private static final SimpleDateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT);
//accessExpiryDate is a Date object
DATE_FORMATTER.format(accessExpiryDate);
Run Code Online (Sandbox Code Playgroud)

它将日期格式设置为 yyyy-MM-dd。但我想格式化日期,例如"1 Jun 2019"。日 + 月份的前 3 个字母 + 年。

我怎样才能做到这一点?有没有一个简单的方法/方法/类或者我应该编写我的自定义日期格式化程序方法?

java date simpledateformat

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

Convert "2020-10-31T00:00:00Z" String Date to long

我的输入日期为"2020-10-31T00:00:00Z"。我想解析这个日期以获得长毫秒。 注意:转换后的毫秒数应为悉尼时间(即 GMT+11)。

供参考,

public static long RegoExpiryDateFormatter(String regoExpiryDate)
    {
        long epoch = 0;

        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
        df.setTimeZone(TimeZone.getTimeZone("GMT+11"));
        Date date;
        try {
            date = df.parse(regoExpiryDate);
            epoch = date.getTime();
        } catch (ParseException e) {
            System.out.println("Exception is:" + e.getMessage());
            e.printStackTrace();
        }

        System.out.println("Converted regoExpiryDate Timestamp*************** " + epoch);
        return epoch;
    }
Run Code Online (Sandbox Code Playgroud)

输出: 1604062800000使用Epoch Converter将日期设为30/10/2019,但在输入中我将第 31 天作为日期传递。任何人都可以澄清这一点吗?

java epoch simpledateformat

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

Java8 过滤器数组列表与字段日期上的自定义对象

我必须List<Card>在字段issueDate(类型String)上进行过滤,其中卡片要显示到过去 7 年的日期。

我尝试过的解决方案是issueDateStringto解析字段Date,然后应用date.after(startDate)date.before(endDate)如下所示:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
cardList.stream()
        .map(s->s.getIssueDate())
        .filter(dt -> sdf.parse(dt).after(sdf.parse("2020-06-08")) && 
                      sdf.parse(dt).before(sdf.parse("2020-08-12")))
        .collect(Collectors.toList());  
Run Code Online (Sandbox Code Playgroud)

甚至不能申请循环,因为可能有数百张卡发行,它通过迭代每个发卡日期(字符串到日期和检查年份)来影响性能

任何人都可以提出一个很好的解决方案来解决这个问题吗?

arraylist simpledateformat java-8 java-stream java-time

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