Package apple.foundation
Class NSDateComponentsFormatter
- java.lang.Object
-
- org.moe.natj.general.NativeObject
-
- org.moe.natj.objc.ObjCObject
-
- apple.NSObject
-
- apple.foundation.NSFormatter
-
- apple.foundation.NSDateComponentsFormatter
-
public class NSDateComponentsFormatter extends NSFormatter
NSDateComponentsFormatter provides locale-correct and flexible string formatting of quantities of time, such as "1 day" or "1h 10m", as specified by NSDateComponents. For formatting intervals of time (such as "2PM to 5PM"), see NSDateIntervalFormatter. NSDateComponentsFormatter is thread-safe, in that calling methods on it from multiple threads will not cause crashes or incorrect results, but it makes no attempt to prevent confusion when one thread sets something and another thread isn't expecting it to change.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class apple.NSObject
NSObject.Function_instanceMethodForSelector_ret, NSObject.Function_methodForSelector_ret
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedNSDateComponentsFormatter(org.moe.natj.general.Pointer peer)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static booleanaccessInstanceVariablesDirectly()static NSDateComponentsFormatteralloc()static java.lang.ObjectallocWithZone(org.moe.natj.general.ptr.VoidPtr zone)longallowedUnits()Bitmask of units to include.booleanallowsFractionalUnits()Choose whether non-integer units should be used to handle display of values that can't be exactly represented with the allowed units.static booleanautomaticallyNotifiesObserversForKey(java.lang.String key)NSCalendarcalendar()Specifies the locale and calendar to use for formatting date components that do not themselves have calendars.static voidcancelPreviousPerformRequestsWithTarget(java.lang.Object aTarget)static voidcancelPreviousPerformRequestsWithTargetSelectorObject(java.lang.Object aTarget, org.moe.natj.objc.SEL aSelector, java.lang.Object anArgument)static NSArray<java.lang.String>classFallbacksForKeyedArchiver()static org.moe.natj.objc.ClassclassForKeyedUnarchiver()booleancollapsesLargestUnit()Choose whether to express largest units just above the threshold for the next lowest unit as a larger quantity of the lower unit.static java.lang.StringdebugDescription_static()static java.lang.Stringdescription_static()longformattingContext()Not yet supported.booleangetObjectValueForStringErrorDescription(org.moe.natj.general.ptr.Ptr<org.moe.natj.objc.ObjCObject> obj, java.lang.String string, org.moe.natj.general.ptr.Ptr<NSString> error)NSDateComponentsFormatter currently only implements formatting, not parsing.static longhash_static()booleanincludesApproximationPhrase()Choose whether to indicate that the allowed units/insignificant units choices lead to inexact results.booleanincludesTimeRemainingPhrase()Choose whether to produce strings like "35 minutes remaining".NSDateComponentsFormatterinit()NSDateComponentsFormatterinitWithCoder(NSCoder coder)NS_DESIGNATED_INITIALIZERstatic NSObject.Function_instanceMethodForSelector_retinstanceMethodForSelector(org.moe.natj.objc.SEL aSelector)static NSMethodSignatureinstanceMethodSignatureForSelector(org.moe.natj.objc.SEL aSelector)static booleaninstancesRespondToSelector(org.moe.natj.objc.SEL aSelector)static booleanisSubclassOfClass(org.moe.natj.objc.Class aClass)static NSSet<java.lang.String>keyPathsForValuesAffectingValueForKey(java.lang.String key)static java.lang.StringlocalizedStringFromDateComponentsUnitsStyle(NSDateComponents components, long unitsStyle)longmaximumUnitCount()Choose whether or not, and at which point, to round small units in large values to zero.static java.lang.Objectnew_objc()NSDatereferenceDate()Where units have variable length (number of days in a month, number of hours in a day, etc...), NSDateComponentsFormatter will calculate as though counting from the date specified by the referenceDate in the appropriate calendar.static booleanresolveClassMethod(org.moe.natj.objc.SEL sel)static booleanresolveInstanceMethod(org.moe.natj.objc.SEL sel)voidsetAllowedUnits(long value)Bitmask of units to include.voidsetAllowsFractionalUnits(boolean value)Choose whether non-integer units should be used to handle display of values that can't be exactly represented with the allowed units.voidsetCalendar(NSCalendar value)Specifies the locale and calendar to use for formatting date components that do not themselves have calendars.voidsetCollapsesLargestUnit(boolean value)Choose whether to express largest units just above the threshold for the next lowest unit as a larger quantity of the lower unit.voidsetFormattingContext(long value)Not yet supported.voidsetIncludesApproximationPhrase(boolean value)Choose whether to indicate that the allowed units/insignificant units choices lead to inexact results.voidsetIncludesTimeRemainingPhrase(boolean value)Choose whether to produce strings like "35 minutes remaining".voidsetMaximumUnitCount(long value)Choose whether or not, and at which point, to round small units in large values to zero.voidsetReferenceDate(NSDate value)Where units have variable length (number of days in a month, number of hours in a day, etc...), NSDateComponentsFormatter will calculate as though counting from the date specified by the referenceDate in the appropriate calendar.voidsetUnitsStyle(long value)Choose how to indicate units.static voidsetVersion_static(long aVersion)voidsetZeroFormattingBehavior(long value)Bitmask specifying how to handle zeros in units.java.lang.StringstringForObjectValue(java.lang.Object obj)'obj' must be an instance of NSDateComponents.java.lang.StringstringFromDateComponents(NSDateComponents components)Convenience method for formatting an NSDateComponents object.java.lang.StringstringFromDateToDate(NSDate startDate, NSDate endDate)Normally, NSDateComponentsFormatter will calculate as though counting from referenceDate (e.g. in February, 1 month formatted as a number of days will be 28).java.lang.StringstringFromTimeInterval(double ti)Convenience method for formatting a number of seconds.static org.moe.natj.objc.Classsuperclass_static()longunitsStyle()Choose how to indicate units.static longversion_static()longzeroFormattingBehavior()Bitmask specifying how to handle zeros in units.-
Methods inherited from class apple.foundation.NSFormatter
attributedStringForObjectValueWithDefaultAttributes, copyWithZone, editingStringForObjectValue, encodeWithCoder, isPartialStringValidNewEditingStringErrorDescription, isPartialStringValidProposedSelectedRangeOriginalStringOriginalSelectedRangeErrorDescription
-
Methods inherited from class apple.NSObject
accessibilityActivate, accessibilityActivationPoint, accessibilityAssistiveTechnologyFocusedIdentifiers, accessibilityAttributedHint, accessibilityAttributedLabel, accessibilityAttributedUserInputLabels, accessibilityAttributedValue, accessibilityContainerType, accessibilityCustomActions, accessibilityCustomRotors, accessibilityDecrement, accessibilityDragSourceDescriptors, accessibilityDropPointDescriptors, accessibilityElementAtIndex, accessibilityElementCount, accessibilityElementDidBecomeFocused, accessibilityElementDidLoseFocus, accessibilityElementIsFocused, accessibilityElements, accessibilityElementsHidden, accessibilityFrame, accessibilityHint, accessibilityIncrement, accessibilityLabel, accessibilityLanguage, accessibilityNavigationStyle, accessibilityPath, accessibilityPerformEscape, accessibilityPerformMagicTap, accessibilityRespondsToUserInteraction, accessibilityScroll, accessibilityTextualContext, accessibilityTraits, accessibilityUserInputLabels, accessibilityValue, accessibilityViewIsModal, addObserverForKeyPathOptionsContext, attemptRecoveryFromErrorOptionIndex, attemptRecoveryFromErrorOptionIndexDelegateDidRecoverSelectorContextInfo, autoContentAccessingProxy, awakeAfterUsingCoder, awakeFromNib, class_objc, classForCoder, classForKeyedArchiver, copy, dealloc, debugDescription, description, dictionaryWithValuesForKeys, didChangeValueForKey, didChangeValueForKeyWithSetMutationUsingObjects, didChangeValuesAtIndexesForKey, doesNotRecognizeSelector, fileManagerShouldProceedAfterError, fileManagerWillProcessPath, finalize_objc, forwardingTargetForSelector, forwardInvocation, hash, indexOfAccessibilityElement, isAccessibilityElement, isEqual, isKindOfClass, isMemberOfClass, isProxy, methodForSelector, methodSignatureForSelector, mutableArrayValueForKey, mutableArrayValueForKeyPath, mutableCopy, mutableOrderedSetValueForKey, mutableOrderedSetValueForKeyPath, mutableSetValueForKey, mutableSetValueForKeyPath, observationInfo, observeValueForKeyPathOfObjectChangeContext, performSelector, performSelectorInBackgroundWithObject, performSelectorOnMainThreadWithObjectWaitUntilDone, performSelectorOnMainThreadWithObjectWaitUntilDoneModes, performSelectorOnThreadWithObjectWaitUntilDone, performSelectorOnThreadWithObjectWaitUntilDoneModes, performSelectorWithObject, performSelectorWithObjectAfterDelay, performSelectorWithObjectAfterDelayInModes, performSelectorWithObjectWithObject, prepareForInterfaceBuilder, provideImageDataBytesPerRowOrigin_Size_UserInfo, removeObserverForKeyPath, removeObserverForKeyPathContext, replacementObjectForCoder, replacementObjectForKeyedArchiver, respondsToSelector, self, setAccessibilityActivationPoint, setAccessibilityAttributedHint, setAccessibilityAttributedLabel, setAccessibilityAttributedUserInputLabels, setAccessibilityAttributedValue, setAccessibilityContainerType, setAccessibilityCustomActions, setAccessibilityCustomRotors, setAccessibilityDragSourceDescriptors, setAccessibilityDropPointDescriptors, setAccessibilityElements, setAccessibilityElementsHidden, setAccessibilityFrame, setAccessibilityHint, setAccessibilityLabel, setAccessibilityLanguage, setAccessibilityNavigationStyle, setAccessibilityPath, setAccessibilityRespondsToUserInteraction, setAccessibilityTextualContext, setAccessibilityTraits, setAccessibilityUserInputLabels, setAccessibilityValue, setAccessibilityViewIsModal, setIsAccessibilityElement, setNilValueForKey, setObservationInfo, setShouldGroupAccessibilityChildren, setValueForKey, setValueForKeyPath, setValueForUndefinedKey, setValuesForKeysWithDictionary, shouldGroupAccessibilityChildren, superclass, validateValueForKeyError, validateValueForKeyPathError, valueForKey, valueForKeyPath, valueForUndefinedKey, willChangeValueForKey, willChangeValueForKeyWithSetMutationUsingObjects, willChangeValuesAtIndexesForKey
-
-
-
-
Method Detail
-
accessInstanceVariablesDirectly
public static boolean accessInstanceVariablesDirectly()
-
alloc
public static NSDateComponentsFormatter alloc()
-
allocWithZone
public static java.lang.Object allocWithZone(org.moe.natj.general.ptr.VoidPtr zone)
-
automaticallyNotifiesObserversForKey
public static boolean automaticallyNotifiesObserversForKey(java.lang.String key)
-
cancelPreviousPerformRequestsWithTarget
public static void cancelPreviousPerformRequestsWithTarget(java.lang.Object aTarget)
-
cancelPreviousPerformRequestsWithTargetSelectorObject
public static void cancelPreviousPerformRequestsWithTargetSelectorObject(java.lang.Object aTarget, org.moe.natj.objc.SEL aSelector, java.lang.Object anArgument)
-
classFallbacksForKeyedArchiver
public static NSArray<java.lang.String> classFallbacksForKeyedArchiver()
-
classForKeyedUnarchiver
public static org.moe.natj.objc.Class classForKeyedUnarchiver()
-
debugDescription_static
public static java.lang.String debugDescription_static()
-
description_static
public static java.lang.String description_static()
-
hash_static
public static long hash_static()
-
instanceMethodForSelector
public static NSObject.Function_instanceMethodForSelector_ret instanceMethodForSelector(org.moe.natj.objc.SEL aSelector)
-
instanceMethodSignatureForSelector
public static NSMethodSignature instanceMethodSignatureForSelector(org.moe.natj.objc.SEL aSelector)
-
instancesRespondToSelector
public static boolean instancesRespondToSelector(org.moe.natj.objc.SEL aSelector)
-
isSubclassOfClass
public static boolean isSubclassOfClass(org.moe.natj.objc.Class aClass)
-
keyPathsForValuesAffectingValueForKey
public static NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey(java.lang.String key)
-
localizedStringFromDateComponentsUnitsStyle
public static java.lang.String localizedStringFromDateComponentsUnitsStyle(NSDateComponents components, long unitsStyle)
-
new_objc
public static java.lang.Object new_objc()
-
resolveClassMethod
public static boolean resolveClassMethod(org.moe.natj.objc.SEL sel)
-
resolveInstanceMethod
public static boolean resolveInstanceMethod(org.moe.natj.objc.SEL sel)
-
setVersion_static
public static void setVersion_static(long aVersion)
-
superclass_static
public static org.moe.natj.objc.Class superclass_static()
-
version_static
public static long version_static()
-
allowedUnits
public long allowedUnits()
Bitmask of units to include. Set to 0 to get the default behavior. Note that, especially if the maximum number of units is low, unit collapsing is on, or zero dropping is on, not all allowed units may actually be used for a given NSDateComponents. Default value is the components of the passed-in NSDateComponents object, or years | months | weeks | days | hours | minutes | seconds if passed an NSTimeInterval or pair of NSDates. Allowed units are: NSCalendarUnitYear NSCalendarUnitMonth NSCalendarUnitWeekOfMonth (used to mean "quantity of weeks") NSCalendarUnitDay NSCalendarUnitHour NSCalendarUnitMinute NSCalendarUnitSecond Specifying any other NSCalendarUnits will result in an exception.
-
allowsFractionalUnits
public boolean allowsFractionalUnits()
Choose whether non-integer units should be used to handle display of values that can't be exactly represented with the allowed units. For example, if minutes aren't allowed, then "1h 30m" could be formatted as "1.5h". Default is NO.
-
calendar
public NSCalendar calendar()
Specifies the locale and calendar to use for formatting date components that do not themselves have calendars. Defaults to NSAutoupdatingCurrentCalendar. If set to nil, uses the gregorian calendar with the en_US_POSIX locale.
-
collapsesLargestUnit
public boolean collapsesLargestUnit()
Choose whether to express largest units just above the threshold for the next lowest unit as a larger quantity of the lower unit. For example: "1m 3s" vs "63s". Default is NO.
-
formattingContext
public long formattingContext()
Not yet supported.
-
getObjectValueForStringErrorDescription
public boolean getObjectValueForStringErrorDescription(org.moe.natj.general.ptr.Ptr<org.moe.natj.objc.ObjCObject> obj, java.lang.String string, org.moe.natj.general.ptr.Ptr<NSString> error)NSDateComponentsFormatter currently only implements formatting, not parsing. Until it implements parsing, this will always return NO.- Overrides:
getObjectValueForStringErrorDescriptionin classNSFormatter
-
includesApproximationPhrase
public boolean includesApproximationPhrase()
Choose whether to indicate that the allowed units/insignificant units choices lead to inexact results. In some languages, simply prepending "about " to the string will produce incorrect results; this handles those cases correctly. Default is NO.
-
includesTimeRemainingPhrase
public boolean includesTimeRemainingPhrase()
Choose whether to produce strings like "35 minutes remaining". Default is NO.
-
init
public NSDateComponentsFormatter init()
- Overrides:
initin classNSFormatter
-
initWithCoder
public NSDateComponentsFormatter initWithCoder(NSCoder coder)
Description copied from interface:NSCodingNS_DESIGNATED_INITIALIZER- Specified by:
initWithCoderin interfaceNSCoding- Overrides:
initWithCoderin classNSFormatter
-
maximumUnitCount
public long maximumUnitCount()
Choose whether or not, and at which point, to round small units in large values to zero. Examples: 1h 10m 30s, maximumUnitCount set to 0: "1h 10m 30s" 1h 10m 30s, maximumUnitCount set to 2: "1h 10m" 10m 30s, maximumUnitCount set to 0: "10m 30s" 10m 30s, maximumUnitCount set to 2: "10m 30s" Default is 0, which is interpreted as unlimited.
-
setAllowedUnits
public void setAllowedUnits(long value)
Bitmask of units to include. Set to 0 to get the default behavior. Note that, especially if the maximum number of units is low, unit collapsing is on, or zero dropping is on, not all allowed units may actually be used for a given NSDateComponents. Default value is the components of the passed-in NSDateComponents object, or years | months | weeks | days | hours | minutes | seconds if passed an NSTimeInterval or pair of NSDates. Allowed units are: NSCalendarUnitYear NSCalendarUnitMonth NSCalendarUnitWeekOfMonth (used to mean "quantity of weeks") NSCalendarUnitDay NSCalendarUnitHour NSCalendarUnitMinute NSCalendarUnitSecond Specifying any other NSCalendarUnits will result in an exception.
-
setAllowsFractionalUnits
public void setAllowsFractionalUnits(boolean value)
Choose whether non-integer units should be used to handle display of values that can't be exactly represented with the allowed units. For example, if minutes aren't allowed, then "1h 30m" could be formatted as "1.5h". Default is NO.
-
setCalendar
public void setCalendar(NSCalendar value)
Specifies the locale and calendar to use for formatting date components that do not themselves have calendars. Defaults to NSAutoupdatingCurrentCalendar. If set to nil, uses the gregorian calendar with the en_US_POSIX locale.
-
setCollapsesLargestUnit
public void setCollapsesLargestUnit(boolean value)
Choose whether to express largest units just above the threshold for the next lowest unit as a larger quantity of the lower unit. For example: "1m 3s" vs "63s". Default is NO.
-
setFormattingContext
public void setFormattingContext(long value)
Not yet supported.
-
setIncludesApproximationPhrase
public void setIncludesApproximationPhrase(boolean value)
Choose whether to indicate that the allowed units/insignificant units choices lead to inexact results. In some languages, simply prepending "about " to the string will produce incorrect results; this handles those cases correctly. Default is NO.
-
setIncludesTimeRemainingPhrase
public void setIncludesTimeRemainingPhrase(boolean value)
Choose whether to produce strings like "35 minutes remaining". Default is NO.
-
setMaximumUnitCount
public void setMaximumUnitCount(long value)
Choose whether or not, and at which point, to round small units in large values to zero. Examples: 1h 10m 30s, maximumUnitCount set to 0: "1h 10m 30s" 1h 10m 30s, maximumUnitCount set to 2: "1h 10m" 10m 30s, maximumUnitCount set to 0: "10m 30s" 10m 30s, maximumUnitCount set to 2: "10m 30s" Default is 0, which is interpreted as unlimited.
-
setUnitsStyle
public void setUnitsStyle(long value)
Choose how to indicate units. For example, 1h 10m vs 1:10. Default is NSDateComponentsFormatterUnitsStylePositional.
-
setZeroFormattingBehavior
public void setZeroFormattingBehavior(long value)
Bitmask specifying how to handle zeros in units. This includes both padding and dropping zeros so that a consistent number digits are displayed, causing updating displays to remain more stable. Default is NSDateComponentsFormatterZeroFormattingBehaviorDefault. If the combination of zero formatting behavior and style would lead to ambiguous date formats (for example, 1:10 meaning 1 hour, 10 seconds), NSDateComponentsFormatter will throw an exception.
-
stringForObjectValue
public java.lang.String stringForObjectValue(java.lang.Object obj)
'obj' must be an instance of NSDateComponents.- Overrides:
stringForObjectValuein classNSFormatter
-
stringFromDateToDate
public java.lang.String stringFromDateToDate(NSDate startDate, NSDate endDate)
Normally, NSDateComponentsFormatter will calculate as though counting from referenceDate (e.g. in February, 1 month formatted as a number of days will be 28). -stringFromDate:toDate: calculates from the passed-in startDate instead. See 'allowedUnits' for how the default set of allowed units differs from -stringFromDateComponents:. Note that this is still formatting the quantity of time between the dates, not the pair of dates itself. For strings like "Feb 22nd - Feb 28th", use NSDateIntervalFormatter.
-
stringFromDateComponents
public java.lang.String stringFromDateComponents(NSDateComponents components)
Convenience method for formatting an NSDateComponents object. This calculates the count of the unit(s) starting from referenceDate.
-
stringFromTimeInterval
public java.lang.String stringFromTimeInterval(double ti)
Convenience method for formatting a number of seconds. See 'allowedUnits' for how the default set of allowed units differs from -stringFromDateComponents:. This calculates the count of the unit(s) from referenceDate to the passed-in time interval.
-
unitsStyle
public long unitsStyle()
Choose how to indicate units. For example, 1h 10m vs 1:10. Default is NSDateComponentsFormatterUnitsStylePositional.
-
zeroFormattingBehavior
public long zeroFormattingBehavior()
Bitmask specifying how to handle zeros in units. This includes both padding and dropping zeros so that a consistent number digits are displayed, causing updating displays to remain more stable. Default is NSDateComponentsFormatterZeroFormattingBehaviorDefault. If the combination of zero formatting behavior and style would lead to ambiguous date formats (for example, 1:10 meaning 1 hour, 10 seconds), NSDateComponentsFormatter will throw an exception.
-
referenceDate
public NSDate referenceDate()
Where units have variable length (number of days in a month, number of hours in a day, etc...), NSDateComponentsFormatter will calculate as though counting from the date specified by the referenceDate in the appropriate calendar. Defaults to [NSDate dateWithTimeIntervalSinceReferenceDate:0] at the time of the -stringForObjectValue: call if not set. Set to nil to get the default behavior.
-
setReferenceDate
public void setReferenceDate(NSDate value)
Where units have variable length (number of days in a month, number of hours in a day, etc...), NSDateComponentsFormatter will calculate as though counting from the date specified by the referenceDate in the appropriate calendar. Defaults to [NSDate dateWithTimeIntervalSinceReferenceDate:0] at the time of the -stringForObjectValue: call if not set. Set to nil to get the default behavior.
-
-