[squeak-dev] The Trunk: Chronology-Core-dtl.65.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Dec 20 00:57:11 UTC 2020


David T. Lewis uploaded a new version of Chronology-Core to project The Trunk:
http://source.squeak.org/trunk/Chronology-Core-dtl.65.mcz

==================== Summary ====================

Name: Chronology-Core-dtl.65
Author: dtl
Time: 19 December 2020, 7:57:10.809501 pm
UUID: 7365f73a-d84f-4c6b-b8b6-16b6fb91194a
Ancestors: Chronology-Core-dtl.64

Ensure integral nanoseconds when printing DateAndTime to prevent error in e.g.
(DateAndTime fromSeconds: 3124074224.123456789s) printString

=============== Diff against Chronology-Core-dtl.64 ===============

Item was changed:
  ----- Method: DateAndTime>>printOn:withLeadingSpace: (in category 'squeak protocol') -----
  printOn: aStream withLeadingSpace: printLeadingSpaceToo
  	"Print as per ISO 8601 sections 5.3.3 and 5.4.1.
  	If printLeadingSpaceToo is false, prints either:
  		'YYYY-MM-DDThh:mm:ss.s+ZZ:zz:z' (for positive years) or '-YYYY-MM-DDThh:mm:ss.s+ZZ:zz:z' (for negative years)
  	If printLeadingSpaceToo is true, prints either:
  		' YYYY-MM-DDThh:mm:ss.s+ZZ:zz:z' (for positive years) or '-YYYY-MM-DDThh:mm:ss.s+ZZ:zz:z' (for negative years)
  	"
  
  	| nanos offsetSeconds |
  	self printYMDOn: aStream withLeadingSpace: printLeadingSpaceToo.
  	aStream nextPut: $T.
  	self printHMSOn: aStream.
  	(nanos := utcMicroseconds \\ 1000000 * 1000) = 0 ifFalse: [
  		| length |
  		aStream nextPut: $..
  		length := 9.
  		[ nanos \\ 10 = 0 ] whileTrue: [
  			nanos := nanos // 10.
  			length := length - 1 ].
+ 		nanos asInteger printOn: aStream base: 10 length: length padded: true ].
- 		nanos printOn: aStream base: 10 length: length padded: true ].
  	"Print offset"
  	aStream nextPut: (localOffsetSeconds >= 0 ifTrue: [ $+ ] ifFalse: [ $- ]).
  	offsetSeconds := localOffsetSeconds abs.
  	offsetSeconds // 3600 printOn: aStream base: 10 length: 2 padded: true.
  	aStream nextPut: $:.
  	offsetSeconds \\ 3600 // 60 printOn: aStream base: 10 length: 2 padded: true.
  	(offsetSeconds := offsetSeconds \\ 60) = 0 ifFalse: [
  		aStream
  			nextPut: $:;
  			print: offsetSeconds ]!



More information about the Squeak-dev mailing list