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. CUDA ---- 线程配置

    前言 线程的组织形式对程序的性能影响是至关重要的,本篇博文主要以下面一种情况来介绍线程组织形式: 2D grid 2D block 线程索引 矩阵在memory中是row-major线性存储的: 在k ...

  2. angular学习总结

    因为学习需要,要配置一系列环境,中间又出了很多各种各样的花式错误,因此当做个人总结记录一下.一.vs1. 完全卸载VS2013找到vs2013的安装包,如图 打开cmd命令行窗口,cd到安装包下的vs ...

  3. Linux_Centos7_设置MySql定时备份

    一.查看是否安装了必要的组件 [root@localhost /]# rpm -qa | grep cron cronie-1.4.11-14.el7_2.1.x86_64 cronie-anacro ...

  4. 洛谷P3950 部落冲突(LCT)

    洛谷题目传送门 最无脑LCT题解,Dalao们的各种算法都比这个好多啦... 唯一的好处就是只管码代码就好了 开战cut,停战link,询问findroot判连通性 太无脑,应该不用打注释了.常数大就 ...

  5. 今天GG

    刚开考: 这里锅了,那里锅了,还被D了QAQ. 然后\(YL\)说,\(T2\)不是傻逼题吗. 于是萝卜秒掉了\(T1\). 于是\(gsy\)秒掉了\(T3\). \(lalaxu,FlashHu\ ...

  6. 【bzoj1089】严格n元树

    Description 如果一棵树的所有非叶节点都恰好有n个儿子,那么我们称它为严格n元树.如果该树中最底层的节点深度为d(根的深度为0),那么我们称它为一棵深度为d的严格n元树.例如,深度为2的严格 ...

  7. JDK 目录结构

    c:\jdk1.7.0: JDK软件安装根目录.包含版权,许可证和自述文件等. c:\jdk1.7.0\bin: 包含JDK中开发工具的可执行文件(在PATH环境变量中应该包含此目录). c:\jdk ...

  8. Java基础-JAVA中常见的数据结构介绍

    Java基础-JAVA中常见的数据结构介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是数据结构 答:数据结构是指数据存储的组织方式.大致上分为线性表.栈(Stack) ...

  9. python---django中orm的使用(1)

    首先推荐两篇文章:Django之ORM操作,http://www.cnblogs.com/yuanchenqi/articles/6083427.html十分全面. 另外和python---ORM之S ...

  10. Google Email 帐户泄露

    最初爆出来的网站是:https://forum.btcsec.com/index.php?/topic/9426-gmail-meniai-parol/,是一个俄罗斯论坛,然后..就流传开来了... ...