初始化

  1. 可以利用Calendar获得本地实例化时间Date对象 Calendar.getInstance().getTime()
  2. 也可以直接通过构造函数获得 new Date()
  3. 初始化返回的对象形如 Tue Sep 17 21:43:47 EDT 2019 (星期几 / 月 / 日 /时 / 分 /秒 /东区 /年)

DateFormat


可以使用formatDate转成String

//2019年9月17日 默认只展示年月日,而且是本地时间 getDateInstance会获得当前国家的常用格式
String myStr = DateFormat.getDateInstance().format(Calendar.getInstance().getTime());

同时可以为dateformat设置Locale,有两种方式来设置Locale,从而将日期格式转换为指定地区的表达形式

  • Locale对象

Locale locale = new Locale("en", "US"); //指定了美国地区

DateFormat usf = DateFormat.getDateInstance(DateFormat.LONG, locale);

String usString = usf.format(new Date()); //September 17, 2019

  • 属性值

DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE); //指定了法国

String dfString = df.format(new Date()); //17 septembre 2019

Parse

可以使用parseString转成Date

String date3 = df.format(date1); // 17 septembre 2019(法国)

String date5 = usf.format(date1); //September 17, 2019 美国

Date date2 = df.parse(date3); //Tue Sep 17 00:00:00 EDT 2019 (法国)

Date date4 = usf.parse(date5); //Tue Sep 17 00:00:00 EDT 2019 (美国)

格式化类型

  • SHORT 全数字, 例如12.13.52 或者 3:30pm (具体时间精确到时:分)
  • MEDIUM 例如 Jan 12, 1952 (月份缩写)
  • LONG 例如 January 12, 1952 或者 3:30:32pm (月份不缩写,具体时间精确到秒)
  • FULL 例如 Tuesday, April 12, 1952 AD 或者 3:30:42pm PST.

下面是常见的SimpleDateFormat的使用方法

/***   SimpleDateFormat函数语法:*   G 年代标志符*   y 年*   M 月*   d 日*   h 时表示12小时制,在上午或下午 (1~12)*   H 时表示24小时制,在一天中 (0~23)*   m 分*   s 秒*   S 毫秒*   E 周几*   D 一年中的第几天*   F 一月中第几个星期几*   w 一年中第几个星期*   W 一月中第几个星期*   a 上午 / 下午 标记符*   k 时 在一天中 (1~24) (24小时制,比如上午9点就是9,不会再是09)*   K 时 在上午或下午 (0~11) (12小时制, 比如上午9点就是9,不会再是09)*   z 时区*  */private void simpleDateFormatFunction() {SimpleDateFormat myFmt = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");SimpleDateFormat myFmt1 = new SimpleDateFormat("yy/MM/dd HH:mm");SimpleDateFormat myFmt2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//等价于now.toLocaleString()SimpleDateFormat myFmt3 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");SimpleDateFormat myFmt4 = new SimpleDateFormat("一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区");SimpleDateFormat myFmt5 = new SimpleDateFormat("yyyy年MM月dd日 ahh时mm分ss秒");Date now = new Date(); //在模拟器上运行,得到的时间正好比本地时间晚12个小时,模拟器设置里面的时区不对,设置的是北美时区,修改为中国时区就对了System.out.println(myFmt.format(now));  // 2019年10月12日 09时47分16秒   yyyy年MM月dd日 HH时mm分ss秒System.out.println(myFmt1.format(now)); // 19/10/12 09:47  yy/MM/dd HH:mmSystem.out.println(myFmt2.format(now)); // 2019-10-12 09:47:16 yyyy-MM-dd HH:mm:ssSystem.out.println(myFmt3.format(now)); // 2019年10月12日 09时47分16秒 周六 yyyy年MM月dd日 HH时mm分ss秒 ESystem.out.println(myFmt4.format(now)); // 一年中的第 285 天 一年中第41个星期 一月中第2个星期 在一天中9时 GMT+08:00时区 一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区System.out.println(now.toString()); // Sat Oct 12 10:06:08 GMT+08:00 2019System.out.println(now.toLocaleString()); //2019年10月12日 上午10:25:06System.out.println(myFmt5.format(now)); //2019年10月12日 上午10时30分39秒System.out.println();//年的不同长度表示SimpleDateFormat yFmt1 = new SimpleDateFormat("yyyy年");String year1 = (yFmt1.format(now)); //2019年SimpleDateFormat yFmt2 = new SimpleDateFormat("yyy年");String year2 = (yFmt2.format(now)); //2019年SimpleDateFormat yFmt3 = new SimpleDateFormat("yy年");String year3 = (yFmt3.format(now)); //19年SimpleDateFormat yFmt4 = new SimpleDateFormat("y年");String year4 = (yFmt4.format(now)); //2019年//月的不同长度表示SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-dd");//yyyy-M-dd 和 yyyy-MM-dd 都可以表示2008-04-24 而且这里必须注意format的格式必须同字符串的划分根式相同,否则crashString dstr = "2008-04-24";try {Date date = sdf.parse(dstr); //Thu Apr 24 00:00:00 GMT+08:00 2008SimpleDateFormat mFmt1 = new SimpleDateFormat("yyyy-M-dd");String month1 = (mFmt1.format(date)); //2008-4-24SimpleDateFormat mFmt2 = new SimpleDateFormat("yyyy-MM-dd");String month2 = (mFmt2.format(date)); //2008-04-24System.out.println();} catch (ParseException e) {e.printStackTrace();}//E 周几的不同长度表示Date date = new Date(); //Thu Apr 24 00:00:00 GMT+08:00 2008SimpleDateFormat eFmt1 = new SimpleDateFormat("这是E");String e1 = (eFmt1.format(date)); //周六 如果系统语言是英文的,那么就是SatSimpleDateFormat eFmt2 = new SimpleDateFormat("这是EEEE");String e2 = (eFmt2.format(date)); //星期六 如果系统语言是英文的,那么就是SaturdaySystem.out.println();//D 一年中的第几天不同长度表示Date date1 = new Date(); //Thu Apr 24 00:00:00 GMT+08:00 2008SimpleDateFormat dFmt1 = new SimpleDateFormat("这是D");String d1 = (dFmt1.format(date1)); //这是285SimpleDateFormat dFmt2 = new SimpleDateFormat("这是DDDD");String d2 = (dFmt2.format(date1)); //这是0285System.out.println();//F 一月中第几个星期几不同长度表示SimpleDateFormat fFmt1 = new SimpleDateFormat("这是第F个");String f1 = (fFmt1.format(new Date())); //这是第2个SimpleDateFormat fFmt2 = new SimpleDateFormat("这是第FFFF个");String f2 = (fFmt2.format(new Date())); //这是第0002个System.out.println();//w 一年中第几个星期不同长度表示SimpleDateFormat wFmt1 = new SimpleDateFormat("第w个星期");String w1 = (wFmt1.format(new Date())); //第41个星期SimpleDateFormat wFmt2 = new SimpleDateFormat("第wwww个星期");String w2 = (wFmt2.format(new Date())); //第0041个星期System.out.println();//W 一月中第几个星期不同长度表示SimpleDateFormat WFmt1 = new SimpleDateFormat("一月中第W个星期");String W1 = (WFmt1.format(new Date())); //一月中第2个星期SimpleDateFormat WFmt2 = new SimpleDateFormat("一月中第WWWW个星期");String W2 = (WFmt2.format(new Date())); //一月中第0002个星期System.out.println();//中英文表示上午和下午a 和 aaSimpleDateFormat aFmt = new SimpleDateFormat("ahh:mm");String a = (aFmt.format(new Date())); //下午 03:12 或者 PM 03:15SimpleDateFormat aaFmt = new SimpleDateFormat("aahh:mm");String aa = (aaFmt.format(new Date())); //下午 03:12 或者 PM 03:15SimpleDateFormat a2Fmt = new SimpleDateFormat("hh:mma");String a2 = (a2Fmt.format(new Date())); //03:14 下午 或者 03:15 PMSimpleDateFormat aa2Fmt = new SimpleDateFormat("hh:mmaa");String aa2 = (aa2Fmt.format(new Date())); //03:14 下午 或者 03:15 PMSystem.out.println();//小时的不同长度表示,12小时制h / hh 或者24小时制 H / HHSimpleDateFormat hFmt = new SimpleDateFormat("h:mm");String h1 = (hFmt.format(new Date())); // 3:59SimpleDateFormat hFmt2 = new SimpleDateFormat("hh:mm");String h2 = (hFmt2.format(new Date())); // 03:59System.out.println();}

android-dateFormat相关推荐

  1. Android中/system/build.prop文件解读

    在/system下的build.prop文件里,我们常看见以下语句. ro.ril.hsdpa.category = 10 ro.ril.hsupa.category = 6 ro.ril.hsxpa ...

  2. 【Android NDK 开发】在 C 代码中获取 Android 系统信息 ( NDK 项目创建 | NDK 配置 | 获取 Android 系统版本号 )

    文章目录 I . 创建 NDK 项目 II . NDK 项目 相关配置 III . NDK 中获取 Android 版本号 IV . 使用 __system_property_get 可获取的参数 I ...

  3. Android——build.prop 解析

    一.概念 在Android设备shell终端可以看到/system目录下的build.prop文件,android的build.prop文件是在Android编译时刻收集的各种property(LCD ...

  4. Android 系统(200)---Android build.prop参数详解

    Android build.prop参数详解 前言 build.prop是Android系统中的一个重要的属性文件,它记录了Android系统运行的很多配置信息,当程序运行时需要某种系统状态时,会到该 ...

  5. Android 系统(95)---Android build.prop参数详解

    Android build.prop参数详解 前言 build.prop是Android系统中的一个重要的属性文件,它记录了Android系统运行的很多配置信息,当程序运行时需要某种系统状态时,会到该 ...

  6. Android 系统(71)---Android系统build.prop文件生成过程

    Android系统build.prop文件生成过程 Android系统build.prop生成过程 这个文件类似于windows的注册表文件,定义了系统初始的一些参数属性,功能的开放等,通过调整或增加 ...

  7. android中prop配置参数名,21.Android系统属性build.prop文件(笔记)

    一.概念 在Android设备shell终端可以看到/system目录下的build.prop文件,Android的build.prop文件是在Android编译时刻收集的各种property,编译完 ...

  8. android 读build.prop,Android系统下的build.prop文件

    Android系统下的build.prop文件,用adb shell进入,再进入到system目录,查看该目录下的文件,会看到build.prop文件,用exit命令退出. 1551927518(1) ...

  9. android 读build.prop,Android build.prop简介

    build.prop位于手机的/system/build.prop中 build.prop记录一些系统设置,是一个属性文件,相当于Windows系统的注册表. build.prop生成: Make系统 ...

  10. Android系统移植与调试之-------build.prop文件详细赏析

    小知识:什么是build.prop?   /system/build.prop 是一个属性文件,在Android系统中.prop文件很重要,记录了系统的设置和改变,类似於/etc中的文件.这个文件是如 ...

最新文章

  1. 苗旺:因果推断,观察性研究和 2021 年诺贝尔经济学奖 | 青源 Talk 第 8 期
  2. jenkins配置权限不对导致无法登陆或者空白页面解决办法
  3. android 模糊度处理_图像处理评价指标之模糊度、清晰度(待更新)
  4. 二叉树题目---3 另一个树的子树 AND 二叉树最大深度
  5. 从Bayes角度理解Deep learning
  6. VR来了,科技的各行各业要如何做好准备?
  7. 王春晖:发展自主知识产权的网安核心技术迫在眉睫
  8. c++ list排序_STL之list
  9. 京西古道,王平到圈门的穿越
  10. SAP资产评估组名_SAP软件 财务月结步骤
  11. JAVA流-File文件
  12. 计算机教师教育笔记,信息技术教师教育随笔
  13. 为您创建完美商业标识的 10 款 Logo 设计软件 【已翻译100%】
  14. 基于GITHUB ACTION的定时任务,真香!
  15. 游戏后台之高效定时器-时间轮
  16. 通过域名访问接口,报400
  17. perror和strerror的使用和区别
  18. thingsboard 编译失败,报错 Failed to execute goal com.mycila:license-maven-plugin:3.0
  19. c#程序连接oracle失败问题
  20. focal loss 通俗理解

热门文章

  1. UNITY之资源下载地址
  2. 如何避免虚拟主机空间中的黑名单问题?
  3. 语聊房高质量音乐伴奏的实现
  4. 在家里怎么赚钱?这三个赚钱的路子,让你日进斗金!
  5. pdf转word免费不限页数
  6. 7-图6 旅游规划 (25 分)
  7. 【JZOJ6376】樱符[完全墨染的樱花]
  8. 游戏夜读 | RPG的美式和日式
  9. 常用数据库设计规范总结
  10. python输入姓名输出职务_python题中输入姓名的笔画数,输出所属性格,及该种性格人的典型代表?...