>
> 【痕迹】QQ+微信朋友圈和聊天记录分析工具
>
> (1)纯Python语言实现,使用Flask后端,本地分析,不上传个人数据。
>
> (2)内含QQ、微信聊天记录保存到本地的方法,真正实现自己数据自己管理。
>
> (3)数据可视化分析QQ、微信聊天记录,提取某一天的聊天记录与大模型对话。
>
> 下载地址:https://www.alipan.com/s/x6fqXe1jVg1
>
基本原理
在Java编程中,处理日期和时间是常见的需求之一。Java提供了多种日期时间格式,其中ISO 8601是一种国际标准,用于表示日期和时间。ISO 8601格式通常包括日期和时间的组合,格式为YYYY-MM-DDTHH:MM:SS.mmmZ,其中:
- YYYY 表示四位数的年份。
- MM 表示两位数的月份。
- DD 表示两位数的日。
- T 是日期和时间的分隔符。
- HH 表示两位数的小时(24小时制)。
- MM 表示两位数的分钟。
- SS 表示两位数的秒。
- mmm 表示三位的毫秒。
- Z 表示时区偏移量,"Z"表示UTC(协调世界时)。
代码示例
示例1:解析ISO 8601格式的日期时间字符串
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatExample {
public static void main(String[] args) {
String isoDateString = "2011-08-12T20:17:46.384Z";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
try {
Date date = sdf.parse(isoDateString);
System.out.println("Parsed Date: " + date);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
运行结果:
Parsed Date: Fri Aug 12 20:17:46 UTC 2011
示例2:格式化日期为ISO 8601格式
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatExample2 {
public static void main(String[] args) {
Date date = new Date(); // 获取当前时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
String isoFormattedString = sdf.format(date);
System.out.println("ISO Formatted String: " + isoFormattedString);
}
}
运行结果:
ISO Formatted String: 2024-06-13T12:34:56.789Z
示例3:处理时区偏移量
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class DateFormatExample3 {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")); // 设置时区为上海
String isoFormattedStringWithTimeZone = sdf.format(date);
System.out.println("ISO Formatted String with Time Zone: " + isoFormattedStringWithTimeZone);
}
}
运行结果:
ISO Formatted String with Time Zone: 2024-06-13T20:34:56.789+0800
注意事项
- 当使用
SimpleDateFormat
解析或格式化日期时,确保模式字符串与日期字符串严格匹配,否则会抛出ParseException
。 SimpleDateFormat
不是线程安全的,如果需要在多线程环境中使用,应考虑使用ThreadLocal
或每次使用时创建新实例。- 在处理时区时,可以使用
TimeZone
类来指定或获取不同的时区。
结论
ISO 8601是一种广泛使用的日期时间格式标准,它提供了一种统一的方式来表示日期和时间,使得不同系统和应用程序之间的日期时间数据交换变得更加容易。在Java中,我们可以使用SimpleDateFormat
类来解析和格式化ISO 8601格式的日期时间字符串,但需要注意模式字符串的准确性和线程安全问题。通过合理设置时区,我们还可以处理不同时区的日期时间表示。
>
> 【痕迹】QQ+微信朋友圈和聊天记录分析工具
>
> (1)纯Python语言实现,使用Flask后端,本地分析,不上传个人数据。
>
> (2)内含QQ、微信聊天记录保存到本地的方法,真正实现自己数据自己管理。
>
> (3)数据可视化分析QQ、微信聊天记录,提取某一天的聊天记录与大模型对话。
>
> 下载地址:https://www.alipan.com/s/x6fqXe1jVg1
>