大数据基础之常用API三

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
全局流量管理 GTM,标准版 1个月
简介: 大数据基础之常用API三
  1. SimpleDateFormat

    1. 构造方法
    2. 成员方法

      1. format
      2. parse
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    /*
    SimpleDateFormat 类: 简单的格式化时间的一个类
    
    构造方法:
    public SimpleDateFormat();
    public SimpleDateFormat(String parrent);
    
    成员方法:
    
    format  格式化日期输出字符串
    parse   输入字符串转换为日期
    
     */
    public class Demo02 {
        // 此处为抛出异常,之后会讲
        public static void main(String[] args) throws ParseException {
            // 构造对象
            SimpleDateFormat sdf = new SimpleDateFormat();
            System.out.println(sdf);
    
            // 使用传入的规则创建一个sdf对象
            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd'\t'HH:mm:ss");
    
            //将日期格式化为字符串
            Date d1 = new Date();
            //空参构造格式化
            String format = sdf.format(d1);
            // 带时间格式的构造格式化
            String format2 = sdf1.format(d1);
    
            System.out.println(format); // "22-1-25 上午11:38"
    //        dateString ds1 = "Tue Jan 25 11:15:38 CST 2022";
            System.out.println(format2);// "2022-01-25 11:39:14"
            //将字符串格式化为日期
            // 将字符串转换为Date类型时,要注意sdf对象的时间格式,要和字符串的格式相匹配,否则就会转换失败而报错
            // 此处系统判断我们可能出现异常,所以强制我们处理异常,或者抛出异常
    //        Date parse = sdf1.parse("22-1-25 上午11:38");
            Date parse = sdf1.parse("2022-01-25    11:39:14");
    
            System.out.println(parse);
    
    
        }
    }
    /*
    需求
    •  定义工具类DateUtils, 该类有两个方法: date2String(), string2Date(), 分别用来格式化, 解析日期.
    •  在测试类中, 测试上述的两个方法.
    •  注意: 解析日期字符串时, SImpleDateFormat对象的模板要和被解析的字符串格式保持一致.
    
     */
    public class Demo03 {
        public static void main(String[] args) throws ParseException {
            // Date>> String
            Date d1 = new Date();
            System.out.println(DateUtils.Date2String(d1, "yyyy年MM月dd日  HH时:mm分"));
            
            // String>> Date 
            String dateStr = "2022年01月25日  11时:56分";
            Date d2 = DateUtils.String2Date(dateStr, "yyyy年MM月dd日  HH时:mm分");
    
            System.out.println(d2);
    
    
    
        }
    }
    package cn.itcast.demo04_Date;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class DateUtils {
        //工具类的思想:
        //1. 构造方法私有
        private DateUtils(){
    
        }
    
        //2. 所有方法静态
        public static String Date2String(Date date, String parrent) {
            // 创建一个sdf对象
            SimpleDateFormat sdf = new SimpleDateFormat(parrent);
            //格式化
            String dateStr = sdf.format(date);
            //返回结果
            return dateStr;
        }
    
        public static Date String2Date(String dateStr, String parrent) throws ParseException {
            // 创建一个sdf对象
            SimpleDateFormat sdf = new SimpleDateFormat(parrent);
            // 解析
            Date date = sdf.parse(dateStr);
            // 返回
            return date;
        }
    }
  2. Calendar类

    1. 成员变量

      1. YEAR
      2. MONTH
      3. DATE
      4. DAYOFMONTH
      5. DAYOFWEEK
    2. 成员方法

      1. getInstalce
      2. get
      3. set
      4. add
    import java.util.Calendar;
    
    /*
    Calendar 帮助我们去记录和使用时间的一个类,目前已经基本替换Date, JDK1.1
    那为什么不删除Date呢??? 因为jdk要进行向下兼容 例如1.8版本要兼容1,8之前的所有版本,所以不能删除
    构造法方法:
    1.public calendar();
    2.public calendar(时区, 语言环境);  如果使用上边这种构造方式,会自动传入系统时区和语言环境
    1. 成员变量
       1. YEAR
       2. MONTH
       3. DATE
       4. DAYOFMONTH
       5. DAYOFWEEK
    2. 成员方法
       1. getInstalce
       2. get
       3. set
       4. add
       5.
     */
    public class Demo01 {
        public static void main(String[] args) {
            // Calendar 是一个抽象类,不能进行实例化,但是我们想使用他
            // 在类中给了一个getinstance这个方法,内部返回了一个Calendar的子类对象.
            // 如果想要使用Calendar构造方法创建一个类,就需要实现其所有抽象方法.
            Calendar calendar = Calendar.getInstance();
            System.out.println(calendar);
            // 获取当前的一些时间(静态变量)
            // Calendar.DATE 这个是给 Calendar添加或者删减数据用
    //        System.out.println(Calendar.DATE); // 5
    //        System.out.println(Calendar.MONTH); // 2
    //        System.out.println(Calendar.YEAR); // 1
    //        System.out.println(Calendar.WEEK_OF_MONTH); // 4
    
            // 计算机中month中0代表的是1月, 1代表2月  以此类推
            // 星期,月份在Calendar类中都有对应的常量代表
            calendar.set(2022, 0, 25);
            System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
    
            //使用add 给DATE 添加4天
            calendar.add(Calendar.DATE, 4);
            calendar.add(Calendar.MONTH, -4);
            // 获取添加4天后是这一年的第几天
            System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
            // 如果再Calendar使用过程中,进行了一系列操作将日期,月份或者年份进行减少或增加进入了下一个月年  都会进行记录
            // 所以我们再开发中你可以使用Calendar进行计算.
            System.out.println(calendar.get(Calendar.YEAR)); // 2021年
            
    
    
        }
    }

    案例:

    public static void main(String[] args) {
        //1. 创建一个Scanner对象
        Scanner sc = new Scanner(System.in);
        //2.提示并获取用户输入的年份
        System.out.println("请输入您要查询的年份:");
        int year = sc.nextInt();
        //3.创建一个calendar对象,将年份传入
        Calendar c1 = Calendar.getInstance();
        //4.将3月1日传入Calendar对象  ,此处是3月1日,所以MONTH应该传2
        c1.set(Calendar.YEAR, year);
        c1.set(Calendar.MONTH, 2);
        c1.set(Calendar.DATE, 1);
        //5.从当前calendar对象中减去一天,
        c1.add(Calendar.DATE, -1);
        //6.获取当月的日期,就是当年2月份的天数
        System.out.println("二月份的天数是:" + c1.get(Calendar.DATE));
    }
相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
1月前
|
消息中间件 NoSQL Kafka
大数据-52 Kafka 基础概念和基本架构 核心API介绍 应用场景等
大数据-52 Kafka 基础概念和基本架构 核心API介绍 应用场景等
61 5
|
1月前
|
分布式计算 Java 大数据
大数据-147 Apache Kudu 常用 Java API 增删改查
大数据-147 Apache Kudu 常用 Java API 增删改查
28 1
|
4月前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之使用API调用ODPS SQL时,出现资源被定时任务抢占,该怎么办
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
分布式计算 DataWorks API
DataWorks产品使用合集之使用REST API Reader往ODPS写数据时,如何获取入库时间
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
分布式计算 大数据 Go
MaxCompute操作报错合集之使用go sdk调用GetTunnelEndpoint出现报错:InvalidAction.NotFoundSpecified api is not found,该如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
4月前
|
分布式计算 DataWorks 大数据
MaxCompute产品使用合集之DataWorks中如何根据MC数据源做成api
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
5月前
|
Java 大数据 API
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
147 0
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
|
5月前
|
SQL DataWorks 监控
DataWorks操作报错合集之在调用数据服务API时返回的错误码是"ODPS-0410051",并且错误信息提示"Invalid credentials - accessKeyId not found",该怎么办
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
100 0
|
5月前
|
机器学习/深度学习 分布式计算 大数据
MaxCompute产品使用问题之当使用Tunnel API进行数据操作时,MaxCompute会根据什么进行相应的处理
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
5月前
|
分布式计算 自然语言处理 大数据
【大数据】MapReduce JAVA API编程实践及适用场景介绍
【大数据】MapReduce JAVA API编程实践及适用场景介绍
131 0

热门文章

最新文章