【Java 8 新特性】Java DateTimeFormatter 日期时间格式化器-程序员宅基地

技术标签: # Java 8  java  Formatter  

DateTimeFormatter是在Java 8中引入的一个格式化器,用于打印和解析日期时间对象。

DateTimeFormatter是不可变的,并且是线程安全的。

DateTimeFormatter使用用户定义的格式(如 "yyyy-MMM-dd hh:mm:ss")或使用预定义的常数(如ISO_LOCAL_DATE_TIME)来格式化日期时间。

一个DateTimeFormatter可以用所需的LocaleChronologyZoneIdDecimalStyle创建。

DateTimeFormatter通过使用其ofPattern方法被实例化为一个日期时间格式字符串。

实例化DateTimeFormatter

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MMM-dd HH:mm:ss"); 

查找代码,用给定的格式打印日期时间(date-time)对象的代码。

String dateTime = formatter.format(LocalDateTime.now());
System.out.println(dateTime); //2018-Dec-21 11:14:12 

查找代码,用给定的格式解析一个日期时间(date-time)对象。

LocalDateTime ldt = LocalDateTime.parse("2018-Dec-20 08:25:30", formatter);
System.out.println(ldt); //2018-12-20T08:25:30

下面,我们将讨论DateTimeFormatter的方法,并举例说明LocalDateLocalDateTimeLocalTime实例的格式。

实例化 DateTimeFormatter

DateTimeFormatter有以下静态方法来实例化DateTimeFormatter

  1. ofPattern(String pattern): 使用给定的模式创建格式化器。
  2. ofPattern(String pattern, Locale locale): 使用给定的模式和区域设置创建格式化器。
  3. ofLocalizedDate(FormatStyle dateStyle): 创建具有当地特定日期格式的格式化器。FormatStyle是一个枚举,其值可以是FULL, LONG, MEDIUM, SHORT
  4. ofLocalizedDateTime(FormatStyle dateTimeStyle): 创建具有特定地区日期时间(date-time)格式的格式化器。
  5. ofLocalizedDateTime(FormatStyle dateStyle, FormatStyle timeStyle): 创建具有特定地区日期时间(date-time)格式的格式化器。我们需要为日期和时间分别传递FormatStyle。例如,日期可以是LONG,时间可以是SHORT
  6. ofLocalizedTime(FormatStyle timeStyle): 创建具有当地特定时间格式的格式化器。

示例

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.util.Locale;

public class DateTimeFormatterDemo {
    
  public static void main(String[] args) {
    
	LocalDate localDate = LocalDate.now();
	
	DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("MMM dd, yyyy");
	String formattedDate1 = formatter1.format(localDate);
	System.out.println(formattedDate1); //Dec 17, 2018
	
	DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("MMM dd, yyyy", Locale.CANADA);
	String formattedDate2 = formatter2.format(localDate);
	System.out.println(formattedDate2); //Dec. 17, 2018 
	
	DateTimeFormatter formatter3 = DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL);
	String formattedDate3 = formatter3.format(localDate);
	System.out.println(formattedDate3); //Monday, December 17, 2018
	
	LocalDateTime localDateTime = LocalDateTime.now();
	
	DateTimeFormatter formatter4 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM);
	String formattedDate4 = formatter4.format(localDateTime);
	System.out.println(formattedDate4); //Dec 17, 2018, 9:14:39 PM	

	DateTimeFormatter formatter5 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG, FormatStyle.SHORT);
	String formattedDate5 = formatter5.format(localDateTime);
	System.out.println(formattedDate5); //December 17, 2018, 9:14 PM
	
	LocalTime localTime = LocalTime.now();
	
	DateTimeFormatter formatter6 = DateTimeFormatter.ofLocalizedTime(FormatStyle.MEDIUM);
	String formattedDate6 = formatter6.format(localTime);
	System.out.println(formattedDate6); //9:14:39 PM		
  }
} 

输出

Dec 17, 2018
Dec. 17, 2018
Monday, December 17, 2018
Dec 17, 2018, 9:14:39 PM
December 17, 2018, 9:14 PM
9:14:39 PM 

FormatStyle:

它是一个关于本地化日期、时间或日期时间(date-time)格式化风格的枚举。

它有以下常数。
1.FULL:例如 'Tuesday, April 11, 2015 AD' or '5:30:45pm PST'.
2. LONG:例如 'January 10, 2018'.
3. MEDIUM:例如 'Jan 10, 2018'
4. SHORT:例如 '11.15.50' or '6:30pm'.

DateTimeFormatter format() 和 formatTo()。

为了格式化一个日期、时间或日期时间(date-time),DateTimeFormatter提供了以下方法。

  1. format(TemporalAccessor temporal): 使用该格式化器对给定的日期时间(date-time)对象进行格式化,并以字符串形式返回。
  2. formatTo(TemporalAccessor temporal, Appendable appendable): 使用该格式化器对给定的日期时间(date-time)对象进行格式化,并将结果附加到给定的Appendable对象中。Appendable对象可以是StringBufferStringBuilder等的实例。

示例

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class DateTimeFormatterDemo {
    
  public static void main(String[] args) {
    	
     DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MMM-dd hh:mm:ss");
     LocalDateTime ldt = LocalDateTime.now();
     System.out.println(dtf.format(ldt)); //2018-Dec-20 03:50:45
     
     StringBuffer sb = new StringBuffer("Date ");
     dtf.formatTo(ldt, sb);
     System.out.println(sb); //Date 2018-Dec-20 03:50:45
  }
} 

输出

2018-Dec-20 03:50:45
Date 2018-Dec-20 03:50:45 

格式化 LocalDate

LocalDate是一个在ISO-8601日历系统中没有时区的日期。

找到使用DateTimeFormatter格式化LocalDate的例子。

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class DateTimeFormatterDemo {
    
  public static void main(String[] args) {
    
	DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MMM-dd");
	LocalDate ld = LocalDate.now();
	System.out.println(dtf.format(ld)); //2018-Dec-20

	dtf = DateTimeFormatter.ofPattern("yyyy-MMM-dd(E)");
	ld = LocalDate.now();
	System.out.println(dtf.format(ld)); //2018-Dec-20(Thu)

	dtf = DateTimeFormatter.ofPattern("MMM dd, YYYY");
	ld = LocalDate.now();
	System.out.println(dtf.format(ld)); //Dec 20, 2018
  }
} 

输出

2018-Dec-20
2018-Dec-20(Thu)
Dec 20, 2018 

DateTimeFormatter也被用来解析一个本地日期。

查找示例代码。

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MMM dd, yyyy");
LocalDate ld = LocalDate.parse("Dec 20, 2018", dtf);
System.out.println(ld); 

输出

2018-12-20 

格式化 LocalDateTime

LocalDateTimeISO-8601日历系统中没有时区的日期时间。

查找使用DateTimeFormatter格式化LocalDateTime的示例。

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class DateTimeFormatterDemo {
    
  public static void main(String[] args) {
    
	DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MMM-dd hh:mm:ss");
	LocalDateTime ldt = LocalDateTime.now();
	System.out.println(dtf.format(ldt)); //2018-Dec-20 07:40:03 

	dtf = DateTimeFormatter.ofPattern("yyyy-MMM-dd(E) hh:mm:ss a");
	ldt = LocalDateTime.now();
	System.out.println(dtf.format(ldt)); //2018-Dec-20(Thu) 07:40:03 PM

	dtf = DateTimeFormatter.ofPattern("yy-MM-dd HH:mm:ss");
	ldt = LocalDateTime.now();
	System.out.println(dtf.format(ldt)); //18-12-20 19:40:03
  }
} 

输出

2018-Dec-20 07:40:03 
2018-Dec-20(Thu) 07:40:03 PM
18-12-20 19:40:03 

DateTimeFormatter也被用来解析本地日期时间。

查找示例代码。

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MMM-dd HH:mm:ss");
LocalDateTime ldt = LocalDateTime.parse("2018-Dec-20 08:25:30", dtf);
System.out.println(ldt); 

输出

2018-12-20T08:25:30 

格式化 LocalTime

LocalTimeISO-8601日历系统中没有时区的时间。

查找使用DateTimeFormatter格式化LocalTime的例子。

import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
public class DateTimeFormatterDemo {
    
  public static void main(String[] args) {
    
	DateTimeFormatter dtf = DateTimeFormatter.ofPattern("hh:mm:ss");
	LocalTime lt = LocalTime.now();
	System.out.println(dtf.format(lt)); //08:03:32

	dtf = DateTimeFormatter.ofPattern("hh:mm:ss a");
	lt = LocalTime.now();
	System.out.println(dtf.format(lt)); //08:03:32 PM

	dtf = DateTimeFormatter.ofPattern("HH:mm");
	lt = LocalTime.now();
	System.out.println(dtf.format(lt)); //20:03
  }
} 

输出

08:03:32
08:03:32 PM
20:03 

DateTimeFormatter也被用来解析本地时间。

查找示例代码。

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HH:mm:ss");
LocalTime lt = LocalTime.parse("08:25:30", dtf);
System.out.println(lt); 

输出

08:25:30 

DateTimeFormatter “parse” 方法

DateTimeFormatter提供以下方法来解析文本。

1.

TemporalAccessor parse(CharSequence text) 

解析一个日期、时间或日期时间(date-time)的文本,并返回时间性(temporal)对象。

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy hh:mm:ss");
TemporalAccessor ta = formatter.parse("18-Dec-2017 02:46:41");
System.out.println(ta.get(ChronoField.YEAR));
System.out.println(ta.get(ChronoField.HOUR_OF_AMPM)); 

输出

2017
2 

2.

TemporalAccessor parse(CharSequence text, ParsePosition position) 

我们可以通过ParsePosition来转义给定文本中的一些字符。

我们用给定的初始索引启动一个ParsePositionparse方法将从那里开始解析给定的文本。

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy hh:mm:ss");
TemporalAccessor ta = formatter.parse("Date 18-Dec-2017 02:46:41", new ParsePosition(5));
System.out.println(ta.get(ChronoField.YEAR));
System.out.println(ta.get(ChronoField.HOUR_OF_AMPM)); 

输出

2017
2 

3.

<T> T parse(CharSequence text, TemporalQuery<T> query) 

解析给定的文本并返回TemporalQuery指定的对象。

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy hh:mm:ss");
LocalDate localDate = formatter.parse("18-Dec-2017 02:46:41", TemporalQueries.localDate());
System.out.println(localDate); 

输出

2017-12-18 

4.

TemporalAccessor parseBest(CharSequence text, TemporalQuery<?>... queries) 

解析给定文本并返回其中一个指定类型。

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy hh:mm:ss");
TemporalAccessor ta = formatter.parseBest("18-Dec-2017 02:46:41", 
	 TemporalQueries.localDate(), TemporalQueries.localTime());
System.out.println(ta); 

输出

2017-12-18 

5.

TemporalAccessor parseUnresolved(CharSequence text, ParsePosition position) 

用给定的ParsePosition解析给定的文本,但不解决它。

这意味着即使月日是38,它也不会产生错误。

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy hh:mm:ss");
TemporalAccessor ta = formatter.parseUnresolved("Date 38-Dec-2017 02:46:41", new ParsePosition(5));
System.out.println(ta); 

输出

{
    DayOfMonth=38, ClockHourOfAmPm=2, MinuteOfHour=46, YearOfEra=2017, SecondOfMinute=41, MonthOfYear=12},null 

6.

static TemporalQuery<Period> parsedExcessDays() 

提供一个查询,以访问作为已解析的Period的多余天数。

import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.Period;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAccessor;
public class DateTimeFormatterDemo {
    
  public static void main(String[] args) {
    	
	DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("HH:mm");
	TemporalAccessor parsed1 = formatter1.parse("24:00");
	LocalTime lt1 = parsed1.query(LocalTime::from);
	Period excessDays1 = parsed1.query(DateTimeFormatter.parsedExcessDays());
	System.out.println(lt1 + " , " + excessDays1);	//00:00 , P1D
	
	DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
	TemporalAccessor parsed2 = formatter2.parse("2018-12-03 24:00");
	LocalDateTime lt2 = parsed2.query(LocalDateTime::from);
	Period excessDays2 = parsed2.query(DateTimeFormatter.parsedExcessDays());
	System.out.println(lt2 + " , " + excessDays2); //2018-12-04T00:00 , P0D		
  }
} 

输出

00:00 , P1D
2018-12-04T00:00 , P0D 

我们可以看到,当我们只有时间时,24:00(一天的结束),我们得到的时间是00和超过1天(P1D意味着有1天的时间)。

但是当我们同时提供日期和时间时,在这种情况下,多余的天数就会加到日期部分。在我们的例子中,我们可以看到第3天已经变成了第4天,多余的天数为0

7.

static TemporalQuery<Boolean> parsedLeapSecond() 

提供一个查询,用于访问是否解析了闰秒。

如果解析到闰秒,该查询返回真,否则返回假。

UTC时区,闰秒发生在'23:59:60'

在其他时区,时间可能不同。

查找示例。

import java.time.Instant;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAccessor;
public class DateTimeFormatterDemo {
    
  public static void main(String[] args) {
    	
	DateTimeFormatter formatter = DateTimeFormatter.ISO_INSTANT;
	TemporalAccessor parsed = formatter.parse("2017-12-31T23:59:60Z");
	Instant instant = parsed.query(Instant::from);
	System.out.println(instant);
        System.out.println("leap second parsed=" 
	   + parsed.query(DateTimeFormatter.parsedLeapSecond()));	
  }
} 

输出

2017-12-31T23:59:59Z
leap second parsed=true 

DateTimeFormatter.ISO_INSTANTUTC格式化一个瞬间(instant)。

DateTimeFormatter “with” 方法

下列方法返回DateTimeFormatter实例。

  1. withChronology(Chronology chrono): 返回具有给定时间顺序的格式化器副本。
  2. withDecimalStyle(DecimalStyle decimalStyle): 返回具有给定十进制样式的格式化器副本。
  3. withLocale(Locale locale): 返回具有给定区域设置的格式化器副本。
  4. withResolverFields(TemporalField… resolverFields): 返回具有给定时间字段的格式化器副本。
  5. withResolverFields(Set resolverFields): 返回这个格式化器的副本,并将给定的时间字段作为Set。
  6. withResolverStyle(ResolverStyle resolverStyle): 返回具有给定解析器样式的格式化器副本。
  7. withZone(ZoneId zone): 返回这个格式化器的副本,并给定区域ID。

我们可以在使用DateTimeFormatterBuilder实例化DateTimeFormatter时使用上述方法。

查找示例代码。

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.chrono.IsoChronology;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.time.format.DecimalStyle;
import java.time.format.ResolverStyle;
import java.time.format.TextStyle;
import java.time.temporal.ChronoField;
import java.util.Locale;

public class DateTimeFormatterDemo {
    
  public static void main(String[] args) {
    	
	DateTimeFormatterBuilder builder = new DateTimeFormatterBuilder();
	DateTimeFormatter formatter = builder.appendLiteral("Day is:")
	    .appendValue(ChronoField.DAY_OF_MONTH)
	    .appendLiteral(", month is:")
	    .appendValue(ChronoField.MONTH_OF_YEAR)
	    .appendLiteral(", and year:")
	    .appendPattern("u")
	    .appendLiteral(" with the time:")
	    .appendValue(ChronoField.HOUR_OF_DAY)
	    .appendLiteral(":")
	    .appendText(ChronoField.MINUTE_OF_HOUR, TextStyle.NARROW_STANDALONE)
	    .toFormatter()
	    .withDecimalStyle(DecimalStyle.STANDARD)
	    .withChronology(IsoChronology.INSTANCE)
	    .withLocale(Locale.CANADA)
	    .withResolverStyle(ResolverStyle.LENIENT)
	    .withZone(ZoneId.systemDefault());
	
	LocalDateTime dateTime  = LocalDateTime.now(); 
	String str =  dateTime.format(formatter); 
	System.out.println(str);	
  }
} 

输出

Day is:20, month is:12, and year:2018 with the time:11:36 

DateTimeFormatter “get” 方法

我们可以使用以下方法获取DateTimeFormatter对象信息。
getChronology():获取年表。
getDecimalStyle():获取十进制风格。
getLocale():获取区域设置。
getResolverFields():获取解析器字段。
getResolverStyle():获取解析器样式。
getZone():获取区域。

示例

import java.time.format.DateTimeFormatter;
public class DateTimeFormatterDemo {
    
  public static void main(String[] args) {
    	
     DateTimeFormatter dtf = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
     System.out.println("Chronology: " + dtf.getChronology());
     System.out.println("DecimalStyle: " + dtf.getDecimalStyle());
     System.out.println("Locale: "+ dtf.getLocale());
     System.out.println("ResolverFields: "+ dtf.getResolverFields());
     System.out.println("ResolverStyle: "+ dtf.getResolverStyle());
     System.out.println("Zone: "+ dtf.getZone());
  }
} 

输出

Chronology: ISO
DecimalStyle: DecimalStyle[0+-.]
Locale: en_US
ResolverFields: null
ResolverStyle: STRICT
Zone: null 

将DateTimeFormatter转换为Format

DateTimeFormatter提供以下方法将DateTimeFormatter转换为java.text.Format

  1. toFormat(): 返回java.text.Format实例。
  2. toFormat(TemporalQuery<?> parseQuery): 返回java.text.Format实例,它将使用给定的查询进行解析。

示例

import java.text.Format;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class DateTimeFormatterDemo {
    
  public static void main(String[] args) {
    	
     DateTimeFormatter dtf1 = DateTimeFormatter.ofPattern("MMM dd, yyyy");
     Format format1 = dtf1.toFormat();
     String ld = format1.format(LocalDate.parse("2017-12-20"));
     System.out.println(ld); //Dec 20, 2017
     
     DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("HH:mm:ss");
     Format format2 = dtf2.toFormat();
     String time = format2.format(LocalDateTime.now());
     System.out.println(time); //12:34:23    
  }
} 

输出

Dec 20, 2017
12:34:23 

预定义格式

DateTimeFormatter有以下预定义的格式。

Formatter Example
BASIC_ISO_DATE ‘20181203’
ISO_LOCAL_DATE ‘2018-12-03’
ISO_OFFSET_DATE ‘2018-12-03+01:00’
ISO_DATE ‘2018-12-03+01:00’; ‘2018-12-03’
ISO_LOCAL_TIME ‘11:15:30’
ISO_OFFSET_TIME ‘11:15:30+01:00’
ISO_TIME ‘11:15:30+01:00’; ‘11:15:30’
ISO_LOCAL_DATE_TIME ‘2018-12-03T11:15:30’
ISO_OFFSET_DATE_TIME ‘2018-12-03T11:15:30+01:00’
ISO_ZONED_DATE_TIME ‘2018-12-03T11:15:30+01:00[Europe/Paris]’
ISO_DATE_TIME ‘2018-12-03T11:15:30+01:00[Europe/Paris]’
ISO_ORDINAL_DATE ‘2018-337’
ISO_WEEK_DATE ‘2018-W48-6’
ISO_INSTANT ‘2018-12-03T11:15:30Z’
RFC_1123_DATE_TIME ‘Tue, 3 Jun 2018 11:05:30 GMT’

例如,我们正在提供一个示例,以便使用预定义格式化器ISO_WEEK_DATE来打印和解析本地日期。

找到代码。

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class DateTimeFormatterDemo {
    
  public static void main(String[] args) {
    
	DateTimeFormatter formatter = DateTimeFormatter.ISO_WEEK_DATE;
	String dateTime = formatter.format(LocalDate.now());
	System.out.println(dateTime); //2018-W51-5
	
	LocalDate ld = LocalDate.parse("2018-W40-4", formatter);
	System.out.println(ld); //2018-10-04
  }
} 

输出

2018-W51-5
2018-10-04 

Pattern Letters 和 Symbols

找到格式化日期时间的模式字母(letters)和符号(symbols)。

Symbol Description Example
G era AD; Anno Domini; A
u year 2018; 18
y year-of-era 2018; 18
D day-of-year 180
M/L month-of-year 7; 07; Jul; July; J
d day-of-month 11
g modified-julian-day 2451334
Q/q quarter-of-year 3; 03; Q3; 3rd quarter
Y week-based-year 1999; 99
w week-of-week-based-year 25
W week-of-month 3
E day-of-week Tue; Tuesday; T
e/c localized day-of-week 2; 02; Tue; Tuesday; T
F day-of-week-in-month 2
a am-pm-of-day AM
h clock-hour-of-am-pm (1-12) 12
K hour-of-am-pm (0-11) 0
k clock-hour-of-day (1-24) 24
H hour-of-day (0-23) 0
m minute-of-hour 35
s second-of-minute 50
S fraction-of-second 970
A milli-of-day 1234
n nano-of-second 987654321
N nano-of-day 1234000000
V time-zone ID America/Los_Angeles; Z; -08:30
v generic time-zone name Pacific Time; PT
z time-zone name Pacific Standard Time; PST
O localized zone-offset GMT+8; GMT+08:00; UTC-08:00
X zone-offset ‘Z’ for zero Z; -08; -0830; -08:30; -083015; -08:30:15
x zone-offset +0000; -08; -0830; -08:30; -083015; -08:30:15
Z zone-offset +0000; -0800; -08:00
p pad next 1
' escape for text
'' single quote '
[ optional section start
] optional section end

参考文献

【1】Class DateTimeFormatter
【2】Java LocalDate
【3】Java DateTimeFormatter

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_31635851/article/details/120132776

智能推荐

IAR调试程序闪退问题_iar在debug时停止工作-程序员宅基地

文章浏览阅读1.7k次。问题:IAR调试STM32程序,点击调试按钮后软件自动关闭,并弹出报错提示框解决:将调试的接口模式改为SWD模式即可。我的原先设置为JTAG模式。_iar在debug时停止工作

100M宽带是多少网速_100m的宽带网速是多少兆-程序员宅基地

文章浏览阅读742次。100兆宽带的网速通常指的是每秒可以传输的数据量为100兆比特(Mb)。在此情况下,1兆比特(Mb)等于100万比特(Mbps),而1字节(B)等于8比特(bps)。因此,100兆宽带的网速可以计算如下:100兆比特/秒=100/8 兆字节/秒= 12.5兆字节/秒所以,100兆宽带的网速约为12.5MBps(兆字节/秒),也可以说为100Mbps(兆比特/秒)。但是需要注意的是,实际的下载和上传速度可能受到各种因素的影响,如网络拥堵、设备性能等。因此,实际使用中您可能会感受到较低的速度。_100m的宽带网速是多少兆

Windows 7 通用 CDC 串口驱动程序_cdcserial驱动 win7-程序员宅基地

文章浏览阅读2.4w次,点赞13次,收藏44次。Windows 7 通用 CDC 串口驱动程序Windows 7 自带 CDC 串口类设备的驱动程序文件 usbser.sys,所缺的是驱动配置文件 usbser.inf 文件,将 Windows 10 的 usbser.inf 文件拷贝到 Windows 7,注释掉 SourceDisksNames 和 SourceDisksFiles 部分就可以作为 Windows 7 的 CDC 串口类..._cdcserial驱动 win7

AI遮天传 NLP-词表示_nlp中词语的表示-程序员宅基地

文章浏览阅读2.5k次,点赞53次,收藏51次。NLP-词表示_nlp中词语的表示

sed 替换多个空格为一个-程序员宅基地

文章浏览阅读2.4k次。sed -i 's/[ ][ ]*/ /g' file.txt _sed 多个空格替换为1个

SpringBoot整合Dubbo,重温记录一下_springboot dubbo整合日志-程序员宅基地

文章浏览阅读125次。1. 创建maven聚合工程,结构如下:2. 父工程pom.xml文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 ht_springboot dubbo整合日志

随便推点

Windows上的巧克力味Chocolatey详解_chocolate怎么卸载-程序员宅基地

文章浏览阅读1.5k次。Chocolatey是什么?很简单,Chocolatey就是Windows系统的yum或apt-get。一、Chocolatey介绍Chocolatey是一款专为Windows系统开发的、基于NuGet的包管理器工具,类似于Node.js的npm,MacOS的brew,Ubuntu的apt-get,它简称为choco。Chocolatey的设计目标是成为一个去中心化的框架,便于开发_chocolate怎么卸载

关于Python的三个谎言,别再盲目学Python了_关于python 盲目-程序员宅基地

文章浏览阅读2.3w次,点赞177次,收藏741次。Python作为21世纪最火的编程语言,市面上各种学习视频层出不穷,关于Python的学习氛围也逐渐浓厚,Python固然简单好上手,但事实上Python也不是那么容易学习的。如果不采取正确的学习方式,很容易走入误区。关于Python的三个谎言,你一定要清楚。1: 学完Python,并不能立马拿一两万的工资,甚至可能找不到工作!2:Python也没有那么简单,不是有手就行!3:别想着1个星期、2个星期就能学会,你至少得腾出一两个月来连续学习!如果你还是执意要学Python,那么好,接下来我们看看怎._关于python 盲目

js 实现将json数据导出到excel表格-程序员宅基地

文章浏览阅读2.1k次。方法一将table标签,包括tr、td等对json数据进行拼接,将table输出到表格上实现,这种方法的弊端在于输出的是伪excel,虽说生成xls为后缀的文件,但文件形式上还是html,代码如下<html><head> <p style="font-size: 20px;color: red;">使用table标签方式将json导出xls文件</p..._如何把js数据转换成表格

IEEE协会会员权益,注册IEEE会员有必要了解下_ieee会员好处-程序员宅基地

IEEE协会是一个专注于航空与电子系统领域的组织,注册IEEE会员可以享受许多权益,包括免费访问协会资源中心和参加各种会议及活动。

前端自学路线图之移动Web自学,2024前端目前最稳定和高效的UI适配方案-程序员宅基地

文章浏览阅读774次,点赞20次,收藏14次。除了简历做到位,面试题也必不可少,整理了些题目,前面有117道汇总的面试到的题目,后面包括了HTML、CSS、JS、ES6、vue、微信小程序、项目类问题、笔试编程类题等专题。CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

计算数组中每个数字出现的次数_统计数组中每个数字出现的次数-程序员宅基地

文章浏览阅读3.9k次。var arr = [12,31,42,54,65,12,31,12,42,22];//统计个数var arr2 = {};arr.forEach(function(item){ if(arr2[item]){ arr2[item] += 1; }else{ arr2[item] = 1; }})console.log(arr2);_统计数组中每个数字出现的次数

推荐文章

热门文章

相关标签