集团主站
欢迎来到成都达内官方网站!达内—美国上市公司 亿元级外企IT培训企业!
成都it培训哪家好
成都it培训哪家好
全国服务监督电话:15023458194  |   联系客服   |
当前位置:主页 > 培训课程 > Java >

成都java培训机构排名:Date工具的时间格式

发布者: 成都达内     浏览次数:     发布时间:2020-07-09 17:59:00

Java开发经常要把当前时间转为字符串,比如“2020-07-08 22:59:48”这样,此时会用到格式化工具SimpleDateFormat,该工具通过下列字符表示不同的时间单位...

  Java开发经常要把当前时间转为字符串,比如“2020-07-08 22:59:48”这样,此时会用到格式化工具SimpleDateFormat,该工具通过下列字符表示不同的时间单位:

  小写的yyyy:表示四位年份数字,如1949、2017等等。

  大写的MM:表示两位月份数字,如01表示一月份,12表示12月份。

  小写的dd:表示两位日期数字,如08表示当月八号,26表示当月二十六号。

  大写的HH:表示24小时制的两位小时数字,如19表示晚上七点。

  小写的mm:表示两位分钟数字,如30表示某个点钟的三十分。

  小写的ss:表示两位秒钟数字。

  按照“2020-07-08 22:59:48”这种字符串样式,对应的日期格式为“yyyy-MM-dd HH:mm:ss”,于是将日期时间转为字符串的代码如下所示:

  // 获取当前的日期时间字符串

  public static String getNowDateTime() {

  // 创建一个日期格式化的工具

  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

  // 将当前日期时间按照指定格式输出格式化后的日期时间字符串

  return sdf.format(new Date());

  }

  注意到上述的时间标记有区分大小写,意味着大写字母与小写字母表达的时间是不一样的。例如,大写的MM表示两位月份,而小写的mm表示两位分钟。除此之外,还有以下不怎么常见的时间标记:

  大写的YYYY:同样表示四位年份数字,但它并非指定日期所处的年份,而是指定日期所在周的最后一天(星期六)位于哪个年份。

  大写的D:表示从当年的1月1日开始算的第几天。

  小写的hh:表示12小时制的两位小时数字,如06可同时表示早上六点与傍晚六点。

  大写的SSS:表示三位毫秒数字。

  以上四种时间标记,特别注意大写的YYYY,因为其他标记不管怎样都是取指定日期的某种单位,可是YYYY居然没从指定日期取数,而是先找到那个日期所处的星期,找到那个星期的最后一天,再瞧瞧最后一天在哪个年份。关键每星期的最后一天究竟是星期几呢?按照中国人的习惯,每周最后一天是星期日,然而在西方人看来,每周最后一天却是星期六,所以YYYY要找的正是那个星期的星期六呀。

  话虽如此,还得实地验证一下才行。先看2004年12月31日,当天是星期五,那周的星期六是2005年1月1日,星期日是2005年1月2日。由于不管星期六还是星期日都落在2005年,因此那周的YYYY理应返回2005年,于是编写下面的年份标记验证代码:

  try {

  SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");

  Date date = sdf1.parse("2004-12-29"); // 2004-12-31是星期五,2005-01-01是星期六

  SimpleDateFormat sdf2 = new SimpleDateFormat("YYYY-MM-dd");

  String str = sdf2.format(date);

  System.out.println("str="+str);

  } catch (ParseException e) {

  e.printStackTrace();

  }

  运行上面代码,看到如下所示的输出日志,果然2004年底的YYYY变成了2005。

  1str=2005-12-29

  再看2005年12月31日,当天是星期六,那周的星期日是2006年1月1日。由于那周的星期六落在2005年,而星期日落在2006年,因此那周的YYYY应当返回2005年(如果每周最后一天是星期六的话)。此时年份标记验证代码示例如下:

  try {

  SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");

  Date date = sdf1.parse("2005-12-29"); // 2005-12-31是星期六,2006-01-01是星期日

  SimpleDateFormat sdf2 = new SimpleDateFormat("YYYY-MM-dd");

  String str = sdf2.format(date);

  System.out.println("str="+str);

  } catch (ParseException e) {

  e.printStackTrace();

  }

  运行上面代码,看到如下所示的输出日志,发现2005年底的YYYY仍为2005,从而证明了这个结论:在Java编程当中,星期六才是每周的最后一天。

  1str=2005-12-29

(责任编辑:范老师)
最新开班
  • 成都Java培训班
    免费试听名额发放中...
  • 成都C++培训班
    免费试听名额发放中...
  • 成都PHP培训班
    免费试听名额发放中...
  • 成都网络工程培训班
    免费试听名额发放中...
  • 成都Unity3D培训班
    免费试听名额发放中...
  • 成都大数据培训班
    免费试听名额发放中...
  • 成都uid培训班
    免费试听名额发放中...
  • 成都会计培训班
    免费试听名额发放中...
  • 成都Python培训班
    免费试听名额发放中...
  • 成都嵌入式培训班
    免费试听名额发放中...
  • 成都web培训班
    免费试听名额发放中...
  • 成都软件测试培训班
    免费试听名额发放中...
在线留言
提交

校区地址:成都市锦江区东大街紫东楼端35号明宇金融广场19楼1906室

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市高新区奥克斯广场蜀锦路209号一楼商铺

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都锦江区东大街芷泉街229号东方广场C座3楼303

联系电话:15023458194

公交路线:芷泉街(188路;115路;515路;236路;505路;501路;84路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市武侯区佳灵路3号红牌楼广场2号写字楼11楼1115号

联系电话:15023458194

公交路线:红牌楼东(11路;92路;100路;111路;139路;g28路;快速公交K1/K2) 地铁路线:红牌楼站(地铁3号线)

校区地址:成都市锦江区红星路二段70号四川日报大厦502-2

联系电话:15023458194

公交路线:市二医院站(6路;49路;102路;5路;37路;g92路;) 地铁路线:地铁市二医院(地铁3号线)

校区地址:成都市锦江区东大街芷泉段229号东方广场C座16层

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:四川省成都市武侯区高新科技孵化园9号园区E座7楼

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市高新区奥克斯广场B座1708

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

了解达内动态
关注成都达内教育公众号

首页 | 关于达内 | 课程中心 | 专家师资 | 视频教程 | 学员空间 | 校企合作 | 新闻资讯 | 就业指导 | 网站地图

2016-2025 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56