Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 清管器ToDate(日期,年月日)发行_Java_Date_Datetime_Hadoop_Apache Pig - Fatal编程技术网

Java 清管器ToDate(日期,年月日)发行

Java 清管器ToDate(日期,年月日)发行,java,date,datetime,hadoop,apache-pig,Java,Date,Datetime,Hadoop,Apache Pig,我将日期作为字符存储在[30/Sep/2015:08:00:36-0700]格式中 test = FOREACH b GENERATE ToDate(SUBSTRING(time,1,12),'dd/MMM/yyyy') AS date; 它给我的输出类似于2015-10-31T00:00:00.000+05:30 根据文档,ToDate(userstring,format)格式的第二个参数是,因此它应该以日期时间格式给出输出30/Sep/2015。 我将使用该日期进行排序 我在java.te

我将日期作为字符存储在
[30/Sep/2015:08:00:36-0700]
格式中

test = FOREACH b GENERATE ToDate(SUBSTRING(time,1,12),'dd/MMM/yyyy') AS date;
它给我的输出类似于
2015-10-31T00:00:00.000+05:30

根据文档,ToDate(userstring,format)格式的第二个参数是,因此它应该以日期时间格式给出输出
30/Sep/2015

我将使用该日期进行排序

我在java.text.simpleDataFormat类(您的链接)中看不到任何ToDate方法

我准备了这个测试来证明行为的一致性

@Test
    public void date()
    {
        SimpleDateFormat sdf= new SimpleDateFormat("dd/MMM/yyyy");
        String v="[30/Sep/2015:08:00:36 -0700]";
        try {
            Date d=sdf.parse(v.substring(1,12));
            System.out.println(sdf.format(d));
        } catch (ParseException e) {
            e.printStackTrace();
        }

    }
我的输出是

2015年9月30日


希望这能有所帮助

我在java.text.simpleDataFormat类(您的链接)中看不到任何ToDate方法

我准备了这个测试来证明行为的一致性

@Test
    public void date()
    {
        SimpleDateFormat sdf= new SimpleDateFormat("dd/MMM/yyyy");
        String v="[30/Sep/2015:08:00:36 -0700]";
        try {
            Date d=sdf.parse(v.substring(1,12));
            System.out.println(sdf.format(d));
        } catch (ParseException e) {
            e.printStackTrace();
        }

    }
我的输出是

2015年9月30日

希望这能帮助输入

A = LOAD 'test12.txt' AS (dt:chararray);
B = FOREACH A GENERATE ToDate(SUBSTRING($0,1,12),'dd/MMM/yyyy');
C = ORDER B BY $0 ASC;
D = FOREACH C GENERATE ToString($0,'dd/MMM/yyyy');
DUMP  D;

脚本

A = LOAD 'test12.txt' AS (dt:chararray);
B = FOREACH A GENERATE ToDate(SUBSTRING($0,1,12),'dd/MMM/yyyy');
C = ORDER B BY $0 ASC;
D = FOREACH C GENERATE ToString($0,'dd/MMM/yyyy');
DUMP  D;
输出

A = LOAD 'test12.txt' AS (dt:chararray);
B = FOREACH A GENERATE ToDate(SUBSTRING($0,1,12),'dd/MMM/yyyy');
C = ORDER B BY $0 ASC;
D = FOREACH C GENERATE ToString($0,'dd/MMM/yyyy');
DUMP  D;
输入

A = LOAD 'test12.txt' AS (dt:chararray);
B = FOREACH A GENERATE ToDate(SUBSTRING($0,1,12),'dd/MMM/yyyy');
C = ORDER B BY $0 ASC;
D = FOREACH C GENERATE ToString($0,'dd/MMM/yyyy');
DUMP  D;

脚本

A = LOAD 'test12.txt' AS (dt:chararray);
B = FOREACH A GENERATE ToDate(SUBSTRING($0,1,12),'dd/MMM/yyyy');
C = ORDER B BY $0 ASC;
D = FOREACH C GENERATE ToString($0,'dd/MMM/yyyy');
DUMP  D;
输出

A = LOAD 'test12.txt' AS (dt:chararray);
B = FOREACH A GENERATE ToDate(SUBSTRING($0,1,12),'dd/MMM/yyyy');
C = ORDER B BY $0 ASC;
D = FOREACH C GENERATE ToString($0,'dd/MMM/yyyy');
DUMP  D;

哦,对不起,忘了提到链接。我说的是pig的ToDate()函数。哦,对不起,忘了提到链接。我说的是pig的ToDate()函数。使用ToDate转换,使用ToString排序和格式化。使用ToDate转换,使用ToString排序和格式化。谢谢。这是否意味着第二个参数格式意味着输入字符串的格式?谢谢。它是否意味着第二个参数格式意味着输入字符串的格式?