Java正确获取星期Calendar.DAY_OF_WEEK
http://chamcon.iteye.com/blog/2144433

Java SimpleDateFormat 中英文时间格式化转换

https://blog.csdn.net/KingWTD/article/details/48089111

java-使用SimpleDateFormat格式化日期
http://zy-email1991.iteye.com/blog/2243021

编写一个java程序用以将AM/PM格式的时间转换为24小时格式
https://zhidao.baidu.com/question/1798461878119559747.html?qbl=relate_question_1&word=java%20am%20pm%20%D3%A2%CE%C4

个人写的一个Demo:

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone; public class Main { public static void main(String[] args) {
Calendar calendar = Calendar.getInstance(TimeZone.getDefault());
// FAQ :
// 1.不同地区国家时间格式显示和同步问题? UTC,格林威治?夏威夷?国际化 ~ locale
// 2.本地client和服务器时间同步问题,比如定时下发执行任务,本地预定时早于服务器当前时间,则无法执行
System.out.println("\nTimezone: " + TimeZone.getDefault()); long time = calendar.getTimeInMillis();
Date date1 = calendar.getTime();
Date date2 = new Date(); // get current date // method1: direct format fun call
// a ~ AM/PM, 上午/下午
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); // HH ~ 24小时制
System.out.printf("\nTime1 in 24h : " + sdf1.format(calendar.getTime())); SimpleDateFormat sdf11 = new SimpleDateFormat("yyyy-MM-dd hh:mm"); // hh ~ 12小时制
System.out.printf("\nTime11 in 12h : " + sdf11.format(calendar.getTime())); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd a HH:mm", Locale.ENGLISH);
System.out.printf("\nTime2: " + sdf2.format(calendar.getTime())); SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy年MM月dd日HH:mm");
System.out.printf("\nTime3: " + sdf3.format(calendar.getTime())); SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy年MM月dd日 a HH:mm");
System.out.printf("\nTime4: " + sdf4.format(calendar.getTime())); // method2: use self define format func
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND); // 欧美国家一周的第一天是星期天,这在java api代码中是写死的,因此这里要自己手动做下判断
// Calendar中的星期一、二、三、四、五、六、日、DAY_OF_WEEK等都是以一个常量的形式存在的,
// 我们设置setFirstDayOfWeek()并不能改变这些常量的值
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); // 获取当天是星期几
boolean isFirstSunday = (calendar.getFirstDayOfWeek() == Calendar.SUNDAY);
if (isFirstSunday) {
dayOfWeek -= 1;
if (dayOfWeek == 0) {
dayOfWeek = 7;
}
} int dayOfWeekInMonth = calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH); // 某月中第几周. 按这个月1号算,1号起就是第1周,8号起就是第2周
int weekOfMonth = calendar.get(Calendar.WEEK_OF_MONTH); // 该月的第几周
int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR); // 一年的第几天,从1号算起
System.out.println("\n" + getFormattedTime(year, month, day, hour, minute));
System.out.println("\ndayOfWeek: " + dayOfWeek + "\ndayOfWeekInMonth: " + dayOfWeekInMonth
+ "\ndayOfYear: " + dayOfYear);
} /**
* 格式化日期字符串,形如 xx年xx月xx日xx:xx:xx
* @param year
* @param month
* @param day
* @param hour
* @param minute
* @return String
*/
public static String getFormattedTime(int year, int month, int day, int hour, int minute) {
String yearStr = "";
String monthStr = "";
String dayStr = "";
String hourStr = "";
String minuteStr = "";
// year
if (year < 10) {
yearStr = "0" + year;
} else {
yearStr = String.valueOf(year);
}
// month
if (month < 10) {
monthStr = "0" + month;
} else {
monthStr = Integer.toString(month);
}
// day
if (day < 10) {
dayStr = "0" + day;
} else {
dayStr = Integer.toString(day);
}
// hour
if (hour < 10) {
hourStr = "0" + hour;
} else {
hourStr = Integer.toString(hour);
}
// minute
if (minute < 10) {
minuteStr = "0" + minute;
} else {
minuteStr = Integer.toString(minute);
}
return yearStr + "年" + monthStr + "月" + dayStr + "日" + hourStr + ":" + minuteStr;
}
}

Java 日期时间获取和显示的更多相关文章

  1. Java 日期时间

    Java 日期时间 标签 : Java基础 Date java.util.Date对象表示一个精确到毫秒的瞬间; 但由于Date从JDK1.0起就开始存在了,历史悠久,而且功能强大(既包含日期,也包含 ...

  2. Java日期时间使用(转)

    Java日期时间使用总结 转自:http://lavasoft.blog.51cto.com/62575/52975/   一.Java中的日期概述   日期在Java中是一块非常复杂的内容,对于一个 ...

  3. Java日期时间使用总结[转载]

    Java日期时间使用总结   一.Java中的日期概述   日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式 ...

  4. Java-Runoob:Java 日期时间

    ylbtech-Java-Runoob:Java 日期时间 1.返回顶部 1. Java 日期时间 java.util 包提供了 Date 类来封装当前的日期和时间. Date 类提供两个构造函数来实 ...

  5. Java日期时间API系列19-----Jdk8中java.time包中的新的日期时间API类,ZonedDateTime与ZoneId和LocalDateTime的关系,ZonedDateTime格式化和时区转换等。

    通过Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类中时间范围示意图:可以很清晰的看出ZonedDateTime相当于LocalDateTime+ZoneI ...

  6. 一文告诉你Java日期时间API到底有多烂

    前言 你好,我是A哥(YourBatman). 好看的代码,千篇一律!难看的代码,卧槽卧槽~其实没有什么代码是"史上最烂"的,要有也只有"史上更烂". 日期是商 ...

  7. Java日期时间处理

    Java 日期时间处理 一.时间相关类 java.lang.System java.util.Date java.util.Calendar java.util.GregorianCalendar j ...

  8. Java日期时间,以及相互转换

    Java日期时间,以及相互转化 package com.study.string; import java.text.ParseException; import java.text.SimpleDa ...

  9. Java日期时间实用工具类

    Java日期时间实用工具类 1.Date (java.util.Date)    Date();        以当前时间构造一个Date对象    Date(long);        构造函数   ...

随机推荐

  1. EntityFramework中Json序列化的循环引用问题解决--Newtonsoft.Json

    1.在使用EF时,由于数据库主外键关联,将对象进行Json序列化时会遇到循环引用的问题 //EF 中由于数据库主外键关联,对象的序列化经常出现循环引用问题 //使用.Net 自带的序列化工具,序列化出 ...

  2. 一本通1625【例 1】反素数 Antiprime

    反素数 Antiprime 题目描述 原题来自:POI 2001 如果一个大于等于 1 的正整数 n,满足所有小于 n 且大于等于 1 的所有正整数的约数个数都小于 n 的约数个数,则 n 是一个反素 ...

  3. MongoDB高级操作(2)

    查询方法-常用查询方法 查询多条数据 --db.集合名称.find({条件文档}) 查询一条数据 --db.集合名称.findOne({条件文档}) 结果格式化 --pretty()方法 --db.集 ...

  4. Django 高并发负载均衡

    1 什么是负载均衡? 当一台服务器的性能达到极限时,我们可以使用服务器集群来提高网站的整体性能.那么,在服务器集群中,需要有一台服务器充当调度者的角色,用户的所有请求都会首先由它接收,调度者再根据每台 ...

  5. 开发Spring Shell应用程序

    2 开发Spring Shell应用程序 向shell提供命令非常简单,需要学习的注解很少.该命令的实现风格与使用依赖注入的应用程序的开发类相同,您可以利用Spring容器的所有特性来实现您的命令类. ...

  6. C 排序 解题报告

    C 排序 题意 给一个\(1\sim n(n\le 10^6)\)排列,求这个排列用冒泡排序从小到大排序的第\(cnt\)步的状态.这里步的定义为,比较一次算一步. 贴个我看的不是很懂的题解,嗯不是很 ...

  7. c/c++ 判断两个实型的关系

    etc. minv=1e-10 or less x>y : x>y-minv x<y : x<y+minv x=y : fabs(x-y)<minv

  8. ThinkPHP5项目目录

    ThinkPHP5安装后(或者下载后的压缩文件解压后)可以看到下面的目录结构: tp5├─application     应用目录 ├─extend          扩展类库目录(可定义) ├─pu ...

  9. python的面向对象-类的数据属性和实例的数据属性相结合-无命名看你懵逼不懵逼系列

    1. class Chinese: country='China' def __init__(self,name): self.name=name def play_ball(self,ball): ...

  10. 【CSS】定位层

    html:定位层1.概念: >>.定位层是由html元素(标签)形成的一个特殊的box盒子. >>.其重点在于“定位”,而html元素(标签)的定位方式由CSS来控制. 通常情 ...