这是标准的XML Schema的"日期型数据格式”
T是代表后面跟着“时间”。Z代表0时区,或者叫UTC统一时间。
国内常见于MS Office Excel电子表格XML中的时间格式。
Java用SimpleTimeFormat可以随意处理这样的时间文本
public static void main(String[] args) {
String str = "2010-1-1 17:39:21";
SimpleDateFormat format = new SimpleDateFormat("yyyy-M-d HH:mm:ss");
SimpleDateFormat format1 = new SimpleDateFormat("yyyyMMddHHmmss");
try {
Systemoutprintln(format1format(formatparse(str)));
} catch (ParseException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
java8中的localdate和localtime用法举例如下:
这两个方法使我们可以方便的实现将旧的日期类转换为新的日期类,具体思路都是通过Instant当中介,然后通过Instant来创建LocalDateTime(这个类可以很容易获取LocalDate和LocalTime),新的日期类转旧的也是如此,将新的先转成LocalDateTime,然后获取Instant,接着转成Date,具体实现细节如下:
// 01 javautilDate --> javatimeLocalDateTime
public void UDateToLocalDateTime() {
javautilDate date = new javautilDate();
Instant instant = datetoInstant();
ZoneId zone = ZoneIdsystemDefault();
LocalDateTime localDateTime = LocalDateTimeofInstant(instant, zone);
}
// 02 javautilDate --> javatimeLocalDate
public void UDateToLocalDate() {
javautilDate date = new javautilDate();
Instant instant = datetoInstant();
ZoneId zone = ZoneIdsystemDefault();
LocalDateTime localDateTime = LocalDateTimeofInstant(instant, zone);
LocalDate localDate = localDateTimetoLocalDate();
}
// 03 javautilDate --> javatimeLocalTime
public void UDateToLocalTime() {
javautilDate date = new javautilDate();
Instant instant = datetoInstant();
ZoneId zone = ZoneIdsystemDefault();
LocalDateTime localDateTime = LocalDateTimeofInstant(instant, zone);
LocalTime localTime = localDateTimetoLocalTime();
}
// 04 javatimeLocalDateTime --> javautilDate
public void LocalDateTimeToUdate() {
LocalDateTime localDateTime = LocalDateTimenow();
ZoneId zone = ZoneIdsystemDefault();
Instant instant = localDateTimeatZone(zone)toInstant();
javautilDate date = Datefrom(instant);
}
// 05 javatimeLocalDate --> javautilDate
public void LocalDateToUdate() {
LocalDate localDate = LocalDatenow();
ZoneId zone = ZoneIdsystemDefault();
Instant instant = localDateatStartOfDay()atZone(zone)toInstant();
javautilDate date = Datefrom(instant);
}
// 06 javatimeLocalTime --> javautilDate
public void LocalTimeToUdate() {
LocalTime localTime = LocalTimenow();
LocalDate localDate = LocalDatenow();
LocalDateTime localDateTime = LocalDateTimeof(localDate, localTime);
ZoneId zone = ZoneIdsystemDefault();
Instant instant = localDateTimeatZone(zone)toInstant();
javautilDate date = Datefrom(instant);
}
首先有个基本问题需要了解一下:
这里所说java里获得一个进程的内存使用情况和cpu运行时间,是指在java内部获取一个纯外部进程的内存与cpu时间呢,还是指在java内部,由java启动的进程的内存与cpu时间。
如果是第一种情况,那你还需要在java内部再起一个进程,通过执行 *** 作系统的shell命令来查看那个进程的运行状态。比如那个外部进程的ID为3119,则执行cat /proc/3119/status | grep VmRSS就可以过滤出该进程的物理内存占用量。
如果是第二种情况,(假定你问的就是这种情况)。
先说内存占用量:一般说来,你可以使用这两种方式获取内存使用情况
方式一:
MemoryMXBean memoryMXBean = ManagementFactorygetMemoryMXBean();
MemoryUsage memoryUsage = memoryMXBeangetHeapMemoryUsage(); //椎内存使用情况
long totalMemorySize = memoryUsagegetInit(); //初始的总内存
long maxMemorySize = memoryUsagegetMax(); //最大可用内存
long usedMemorySize = memoryUsagegetUsed(); //已使用的内存
方式二:
Runtime rt = RuntimegetRuntime();
long totalMemorySize = rttotalMemory(); //初始的总内存
long maxMemorySiz = tmaxMemory(); //最大可用内存
long freeMemorySize = rtfreeMemory(); //当前可用内存
需要说明的是,这种方式获取的是整个jvm的内存使用情况,并不是某一个进程的内存使用情况,事实上,在java内部,可以使用RumtimegetRuntime()exec(${SHELL})来开启一个外部进程(这里${SHELL}代表一个可 *** 作系统的shell命令)。而运行Java程序整个jvm,对于 *** 作系统而言,也仅仅只是一个进程。也就是说,一个jvm就是一个进程,你通过java程序开启的进程都是外部进程,java内部目前还提供了一个destroy方法来销毁该进程,对于该进程的其它信息,都无法直接获取,这些信息的获取,显然需要本地化(Local)的实现。既然标准jdk库没有,就不可能再通过平台无关的代码来实现了。典型的做法就是使用前面第一种情况的方式,再启一个进程,执行shell命令来获取。
不过对于cpu使用时间,采用标准java代码倒是可以拿到。由于java的语法很啰嗦,举一个较完全的例子需要太多的代码,我这里就只写最关键的代码:
ThreadMXBean threadMXBean = ManagementFactorygetThreadMXBean();
① long currentCpuTime = threadMXBeangetCurrentThreadCpuTime(); //当前线程的cpu使用时间
long someThreadId = 709817L; //假定有某个线程的ID是709817
② long someThreadCpuTime = threadMXBeangetThreadCpuTime(someThreadId); //获取ID为someThreadId即709817的线程的cpu时间
基于上面的核心api,你可以把由java启动的外部进程放到一个单独的线程中执行,再用代码②的方式来获取该进程的cpu使用时间,也可以将外部进程放入到当前线程中执行,用① 的方式来获得进程的cpu使用时间。
以上就是关于2003-07-16T01:24:32Z这是什么时间格式,用java怎样获取这样的时间r全部的内容,包括:2003-07-16T01:24:32Z这是什么时间格式,用java怎样获取这样的时间r、java小问题 怎么把一个String的时间转化为标准格式时间 例如2011-1-1转化为2011-01-01、如何在java8中愉快地处理日期和时间java8新增了localdate和localtim等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)