PATH: //proc/self/root/usr/include/unicode
FILE_BARU
CREATE
FOLDER_BARU
MKDIR
UPLOAD_FILE
GO
[ .. KEMBALI ]
📄 alphaindex.h
↓
X
📄 appendable.h
↓
X
📄 basictz.h
↓
X
📄 brkiter.h
↓
X
📄 bytestream.h
↓
X
📄 bytestrie.h
↓
X
📄 bytestriebuilder.h
↓
X
📄 calendar.h
↓
X
📄 caniter.h
↓
X
📄 casemap.h
↓
X
📄 char16ptr.h
↓
X
📄 chariter.h
↓
X
📄 choicfmt.h
↓
X
📄 coleitr.h
↓
X
📄 coll.h
↓
X
📄 compactdecimalformat.h
↓
X
📄 curramt.h
↓
X
📄 currpinf.h
↓
X
📄 currunit.h
↓
X
📄 datefmt.h
↓
X
📄 dbbi.h
↓
X
📄 dcfmtsym.h
↓
X
📄 decimfmt.h
↓
X
📄 docmain.h
↓
X
📄 dtfmtsym.h
↓
X
📄 dtintrv.h
↓
X
📄 dtitvfmt.h
↓
X
📄 dtitvinf.h
↓
X
📄 dtptngen.h
↓
X
📄 dtrule.h
↓
X
📄 edits.h
↓
X
📄 enumset.h
↓
X
📄 errorcode.h
↓
X
📄 fieldpos.h
↓
X
📄 filteredbrk.h
↓
X
📄 fmtable.h
↓
X
📄 format.h
↓
X
📄 formattedvalue.h
↓
X
📄 fpositer.h
↓
X
📄 gender.h
↓
X
📄 gregocal.h
↓
X
📄 icudataver.h
↓
X
📄 icuplug.h
↓
X
📄 idna.h
↓
X
📄 listformatter.h
↓
X
📄 localebuilder.h
↓
X
📄 localematcher.h
↓
X
📄 localpointer.h
↓
X
📄 locdspnm.h
↓
X
📄 locid.h
↓
X
📄 measfmt.h
↓
X
📄 measunit.h
↓
X
📄 measure.h
↓
X
📄 messagepattern.h
↓
X
📄 msgfmt.h
↓
X
📄 normalizer2.h
↓
X
📄 normlzr.h
↓
X
📄 nounit.h
↓
X
📄 numberformatter.h
↓
X
📄 numberrangeformatter.h
↓
X
📄 numfmt.h
↓
X
📄 numsys.h
↓
X
📄 parseerr.h
↓
X
📄 parsepos.h
↓
X
📄 platform.h
↓
X
📄 plurfmt.h
↓
X
📄 plurrule.h
↓
X
📄 ptypes.h
↓
X
📄 putil.h
↓
X
📄 rbbi.h
↓
X
📄 rbnf.h
↓
X
📄 rbtz.h
↓
X
📄 regex.h
↓
X
📄 region.h
↓
X
📄 reldatefmt.h
↓
X
📄 rep.h
↓
X
📄 resbund.h
↓
X
📄 schriter.h
↓
X
📄 scientificnumberformatter.h
↓
X
📄 search.h
↓
X
📄 selfmt.h
↓
X
📄 simpleformatter.h
↓
X
📄 simpletz.h
↓
X
📄 smpdtfmt.h
↓
X
📄 sortkey.h
↓
X
📄 std_string.h
↓
X
📄 strenum.h
↓
X
📄 stringoptions.h
↓
X
📄 stringpiece.h
↓
X
📄 stringtriebuilder.h
↓
X
📄 stsearch.h
↓
X
📄 symtable.h
↓
X
📄 tblcoll.h
↓
X
📄 timezone.h
↓
X
📄 tmunit.h
↓
X
📄 tmutamt.h
↓
X
📄 tmutfmt.h
↓
X
📄 translit.h
↓
X
📄 tzfmt.h
↓
X
📄 tznames.h
↓
X
📄 tzrule.h
↓
X
📄 tztrans.h
↓
X
📄 ubidi.h
↓
X
📄 ubiditransform.h
↓
X
📄 ubrk.h
↓
X
📄 ucal.h
↓
X
📄 ucasemap.h
↓
X
📄 ucat.h
↓
X
📄 uchar.h
↓
X
📄 ucharstrie.h
↓
X
📄 ucharstriebuilder.h
↓
X
📄 uchriter.h
↓
X
📄 uclean.h
↓
X
📄 ucnv.h
↓
X
📄 ucnv_cb.h
↓
X
📄 ucnv_err.h
↓
X
📄 ucnvsel.h
↓
X
📄 ucol.h
↓
X
📄 ucoleitr.h
↓
X
📄 uconfig.h
↓
X
📄 ucpmap.h
↓
X
📄 ucptrie.h
↓
X
📄 ucsdet.h
↓
X
📄 ucurr.h
↓
X
📄 udat.h
↓
X
📄 udata.h
↓
X
📄 udateintervalformat.h
↓
X
📄 udatpg.h
↓
X
📄 udisplaycontext.h
↓
X
📄 uenum.h
↓
X
📄 ufieldpositer.h
↓
X
📄 uformattable.h
↓
X
📄 uformattedvalue.h
↓
X
📄 ugender.h
↓
X
📄 uidna.h
↓
X
📄 uiter.h
↓
X
📄 uldnames.h
↓
X
📄 ulistformatter.h
↓
X
📄 uloc.h
↓
X
📄 ulocdata.h
↓
X
📄 umachine.h
↓
X
📄 umisc.h
↓
X
📄 umsg.h
↓
X
📄 umutablecptrie.h
↓
X
📄 unifilt.h
↓
X
📄 unifunct.h
↓
X
📄 unimatch.h
↓
X
📄 unirepl.h
↓
X
📄 uniset.h
↓
X
📄 unistr.h
↓
X
📄 unorm.h
↓
X
📄 unorm2.h
↓
X
📄 unum.h
↓
X
📄 unumberformatter.h
↓
X
📄 unumsys.h
↓
X
📄 uobject.h
↓
X
📄 upluralrules.h
↓
X
📄 uregex.h
↓
X
📄 uregion.h
↓
X
📄 ureldatefmt.h
↓
X
📄 urename.h
↓
X
📄 urep.h
↓
X
📄 ures.h
↓
X
📄 uscript.h
↓
X
📄 usearch.h
↓
X
📄 uset.h
↓
X
📄 usetiter.h
↓
X
📄 ushape.h
↓
X
📄 uspoof.h
↓
X
📄 usprep.h
↓
X
📄 ustdio.h
↓
X
📄 ustream.h
↓
X
📄 ustring.h
↓
X
📄 ustringtrie.h
↓
X
📄 utext.h
↓
X
📄 utf.h
↓
X
📄 utf16.h
↓
X
📄 utf32.h
↓
X
📄 utf8.h
↓
X
📄 utf_old.h
↓
X
📄 utmscale.h
↓
X
📄 utrace.h
↓
X
📄 utrans.h
↓
X
📄 utypes.h
↓
X
📄 uvernum.h
↓
X
📄 uversion.h
↓
X
📄 vtzone.h
↓
X
SAVING...
BERHASIL DIUBAH!
EDITING: ureldatefmt.h
// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* ***************************************************************************************** * Copyright (C) 2016, International Business Machines * Corporation and others. All Rights Reserved. ***************************************************************************************** */ #ifndef URELDATEFMT_H #define URELDATEFMT_H #include "unicode/utypes.h" #if !UCONFIG_NO_FORMATTING && !UCONFIG_NO_BREAK_ITERATION #include "unicode/unum.h" #include "unicode/udisplaycontext.h" #include "unicode/localpointer.h" #include "unicode/uformattedvalue.h" /** * \file * \brief C API: URelativeDateTimeFormatter, relative date formatting of unit + numeric offset. * * Provides simple formatting of relative dates, in two ways * <ul> * <li>relative dates with a quantity e.g "in 5 days"</li> * <li>relative dates without a quantity e.g "next Tuesday"</li> * </ul> * <p> * This does not provide compound formatting for multiple units, * other than the ability to combine a time string with a relative date, * as in "next Tuesday at 3:45 PM". It also does not provide support * for determining which unit to use, such as deciding between "in 7 days" * and "in 1 week". * * @stable ICU 57 */ /** * The formatting style * @stable ICU 54 */ typedef enum UDateRelativeDateTimeFormatterStyle { /** * Everything spelled out. * @stable ICU 54 */ UDAT_STYLE_LONG, /** * Abbreviations used when possible. * @stable ICU 54 */ UDAT_STYLE_SHORT, /** * Use the shortest possible form. * @stable ICU 54 */ UDAT_STYLE_NARROW, #ifndef U_HIDE_DEPRECATED_API /** * One more than the highest normal UDateRelativeDateTimeFormatterStyle value. * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. */ UDAT_STYLE_COUNT #endif /* U_HIDE_DEPRECATED_API */ } UDateRelativeDateTimeFormatterStyle; /** * Represents the unit for formatting a relative date. e.g "in 5 days" * or "next year" * @stable ICU 57 */ typedef enum URelativeDateTimeUnit { /** * Specifies that relative unit is year, e.g. "last year", * "in 5 years". * @stable ICU 57 */ UDAT_REL_UNIT_YEAR, /** * Specifies that relative unit is quarter, e.g. "last quarter", * "in 5 quarters". * @stable ICU 57 */ UDAT_REL_UNIT_QUARTER, /** * Specifies that relative unit is month, e.g. "last month", * "in 5 months". * @stable ICU 57 */ UDAT_REL_UNIT_MONTH, /** * Specifies that relative unit is week, e.g. "last week", * "in 5 weeks". * @stable ICU 57 */ UDAT_REL_UNIT_WEEK, /** * Specifies that relative unit is day, e.g. "yesterday", * "in 5 days". * @stable ICU 57 */ UDAT_REL_UNIT_DAY, /** * Specifies that relative unit is hour, e.g. "1 hour ago", * "in 5 hours". * @stable ICU 57 */ UDAT_REL_UNIT_HOUR, /** * Specifies that relative unit is minute, e.g. "1 minute ago", * "in 5 minutes". * @stable ICU 57 */ UDAT_REL_UNIT_MINUTE, /** * Specifies that relative unit is second, e.g. "1 second ago", * "in 5 seconds". * @stable ICU 57 */ UDAT_REL_UNIT_SECOND, /** * Specifies that relative unit is Sunday, e.g. "last Sunday", * "this Sunday", "next Sunday", "in 5 Sundays". * @stable ICU 57 */ UDAT_REL_UNIT_SUNDAY, /** * Specifies that relative unit is Monday, e.g. "last Monday", * "this Monday", "next Monday", "in 5 Mondays". * @stable ICU 57 */ UDAT_REL_UNIT_MONDAY, /** * Specifies that relative unit is Tuesday, e.g. "last Tuesday", * "this Tuesday", "next Tuesday", "in 5 Tuesdays". * @stable ICU 57 */ UDAT_REL_UNIT_TUESDAY, /** * Specifies that relative unit is Wednesday, e.g. "last Wednesday", * "this Wednesday", "next Wednesday", "in 5 Wednesdays". * @stable ICU 57 */ UDAT_REL_UNIT_WEDNESDAY, /** * Specifies that relative unit is Thursday, e.g. "last Thursday", * "this Thursday", "next Thursday", "in 5 Thursdays". * @stable ICU 57 */ UDAT_REL_UNIT_THURSDAY, /** * Specifies that relative unit is Friday, e.g. "last Friday", * "this Friday", "next Friday", "in 5 Fridays". * @stable ICU 57 */ UDAT_REL_UNIT_FRIDAY, /** * Specifies that relative unit is Saturday, e.g. "last Saturday", * "this Saturday", "next Saturday", "in 5 Saturdays". * @stable ICU 57 */ UDAT_REL_UNIT_SATURDAY, #ifndef U_HIDE_DEPRECATED_API /** * One more than the highest normal URelativeDateTimeUnit value. * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. */ UDAT_REL_UNIT_COUNT #endif /* U_HIDE_DEPRECATED_API */ } URelativeDateTimeUnit; /** * FieldPosition and UFieldPosition selectors for format fields * defined by RelativeDateTimeFormatter. * @stable ICU 64 */ typedef enum URelativeDateTimeFormatterField { /** * Represents a literal text string, like "tomorrow" or "days ago". * @stable ICU 64 */ UDAT_REL_LITERAL_FIELD, /** * Represents a number quantity, like "3" in "3 days ago". * @stable ICU 64 */ UDAT_REL_NUMERIC_FIELD, } URelativeDateTimeFormatterField; /** * Opaque URelativeDateTimeFormatter object for use in C programs. * @stable ICU 57 */ struct URelativeDateTimeFormatter; typedef struct URelativeDateTimeFormatter URelativeDateTimeFormatter; /**< C typedef for struct URelativeDateTimeFormatter. @stable ICU 57 */ /** * Open a new URelativeDateTimeFormatter object for a given locale using the * specified width and capitalizationContext, along with a number formatter * (if desired) to override the default formatter that would be used for * display of numeric field offsets. The default formatter typically rounds * toward 0 and has a minimum of 0 fraction digits and a maximum of 3 * fraction digits (i.e. it will show as many decimal places as necessary * up to 3, without showing trailing 0s). * * @param locale * The locale * @param nfToAdopt * A number formatter to set for this URelativeDateTimeFormatter * object (instead of the default decimal formatter). Ownership of * this UNumberFormat object will pass to the URelativeDateTimeFormatter * object (the URelativeDateTimeFormatter adopts the UNumberFormat), * which becomes responsible for closing it. If the caller wishes to * retain ownership of the UNumberFormat object, the caller must clone * it (with unum_clone) and pass the clone to ureldatefmt_open. May be * NULL to use the default decimal formatter. * @param width * The width - wide, short, narrow, etc. * @param capitalizationContext * A value from UDisplayContext that pertains to capitalization, e.g. * UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE. * @param status * A pointer to a UErrorCode to receive any errors. * @return * A pointer to a URelativeDateTimeFormatter object for the specified locale, * or NULL if an error occurred. * @stable ICU 57 */ U_STABLE URelativeDateTimeFormatter* U_EXPORT2 ureldatefmt_open( const char* locale, UNumberFormat* nfToAdopt, UDateRelativeDateTimeFormatterStyle width, UDisplayContext capitalizationContext, UErrorCode* status ); /** * Close a URelativeDateTimeFormatter object. Once closed it may no longer be used. * @param reldatefmt * The URelativeDateTimeFormatter object to close. * @stable ICU 57 */ U_STABLE void U_EXPORT2 ureldatefmt_close(URelativeDateTimeFormatter *reldatefmt); struct UFormattedRelativeDateTime; /** * Opaque struct to contain the results of a URelativeDateTimeFormatter operation. * @stable ICU 64 */ typedef struct UFormattedRelativeDateTime UFormattedRelativeDateTime; /** * Creates an object to hold the result of a URelativeDateTimeFormatter * operation. The object can be used repeatedly; it is cleared whenever * passed to a format function. * * @param ec Set if an error occurs. * @return A pointer needing ownership. * @stable ICU 64 */ U_STABLE UFormattedRelativeDateTime* U_EXPORT2 ureldatefmt_openResult(UErrorCode* ec); /** * Returns a representation of a UFormattedRelativeDateTime as a UFormattedValue, * which can be subsequently passed to any API requiring that type. * * The returned object is owned by the UFormattedRelativeDateTime and is valid * only as long as the UFormattedRelativeDateTime is present and unchanged in memory. * * You can think of this method as a cast between types. * * @param ufrdt The object containing the formatted string. * @param ec Set if an error occurs. * @return A UFormattedValue owned by the input object. * @stable ICU 64 */ U_STABLE const UFormattedValue* U_EXPORT2 ureldatefmt_resultAsValue(const UFormattedRelativeDateTime* ufrdt, UErrorCode* ec); /** * Releases the UFormattedRelativeDateTime created by ureldatefmt_openResult. * * @param ufrdt The object to release. * @stable ICU 64 */ U_STABLE void U_EXPORT2 ureldatefmt_closeResult(UFormattedRelativeDateTime* ufrdt); #if U_SHOW_CPLUSPLUS_API U_NAMESPACE_BEGIN /** * \class LocalURelativeDateTimeFormatterPointer * "Smart pointer" class, closes a URelativeDateTimeFormatter via ureldatefmt_close(). * For most methods see the LocalPointerBase base class. * * @see LocalPointerBase * @see LocalPointer * @stable ICU 57 */ U_DEFINE_LOCAL_OPEN_POINTER(LocalURelativeDateTimeFormatterPointer, URelativeDateTimeFormatter, ureldatefmt_close); /** * \class LocalUFormattedRelativeDateTimePointer * "Smart pointer" class, closes a UFormattedRelativeDateTime via ureldatefmt_closeResult(). * For most methods see the LocalPointerBase base class. * * @see LocalPointerBase * @see LocalPointer * @stable ICU 64 */ U_DEFINE_LOCAL_OPEN_POINTER(LocalUFormattedRelativeDateTimePointer, UFormattedRelativeDateTime, ureldatefmt_closeResult); U_NAMESPACE_END #endif /** * Format a combination of URelativeDateTimeUnit and numeric * offset using a numeric style, e.g. "1 week ago", "in 1 week", * "5 weeks ago", "in 5 weeks". * * @param reldatefmt * The URelativeDateTimeFormatter object specifying the * format conventions. * @param offset * The signed offset for the specified unit. This will * be formatted according to this object's UNumberFormat * object. * @param unit * The unit to use when formatting the relative * date, e.g. UDAT_REL_UNIT_WEEK, UDAT_REL_UNIT_FRIDAY. * @param result * A pointer to a buffer to receive the formatted result. * @param resultCapacity * The maximum size of result. * @param status * A pointer to a UErrorCode to receive any errors. In * case of error status, the contents of result are * undefined. * @return * The length of the formatted result; may be greater * than resultCapacity, in which case an error is returned. * @stable ICU 57 */ U_STABLE int32_t U_EXPORT2 ureldatefmt_formatNumeric( const URelativeDateTimeFormatter* reldatefmt, double offset, URelativeDateTimeUnit unit, UChar* result, int32_t resultCapacity, UErrorCode* status); /** * Format a combination of URelativeDateTimeUnit and numeric * offset using a numeric style, e.g. "1 week ago", "in 1 week", * "5 weeks ago", "in 5 weeks". * * @param reldatefmt * The URelativeDateTimeFormatter object specifying the * format conventions. * @param offset * The signed offset for the specified unit. This will * be formatted according to this object's UNumberFormat * object. * @param unit * The unit to use when formatting the relative * date, e.g. UDAT_REL_UNIT_WEEK, UDAT_REL_UNIT_FRIDAY. * @param result * A pointer to a UFormattedRelativeDateTime to populate. * @param status * A pointer to a UErrorCode to receive any errors. In * case of error status, the contents of result are * undefined. * @stable ICU 64 */ U_STABLE void U_EXPORT2 ureldatefmt_formatNumericToResult( const URelativeDateTimeFormatter* reldatefmt, double offset, URelativeDateTimeUnit unit, UFormattedRelativeDateTime* result, UErrorCode* status); /** * Format a combination of URelativeDateTimeUnit and numeric offset * using a text style if possible, e.g. "last week", "this week", * "next week", "yesterday", "tomorrow". Falls back to numeric * style if no appropriate text term is available for the specified * offset in the object's locale. * * @param reldatefmt * The URelativeDateTimeFormatter object specifying the * format conventions. * @param offset * The signed offset for the specified unit. * @param unit * The unit to use when formatting the relative * date, e.g. UDAT_REL_UNIT_WEEK, UDAT_REL_UNIT_FRIDAY. * @param result * A pointer to a buffer to receive the formatted result. * @param resultCapacity * The maximum size of result. * @param status * A pointer to a UErrorCode to receive any errors. In * case of error status, the contents of result are * undefined. * @return * The length of the formatted result; may be greater * than resultCapacity, in which case an error is returned. * @stable ICU 57 */ U_STABLE int32_t U_EXPORT2 ureldatefmt_format( const URelativeDateTimeFormatter* reldatefmt, double offset, URelativeDateTimeUnit unit, UChar* result, int32_t resultCapacity, UErrorCode* status); /** * Format a combination of URelativeDateTimeUnit and numeric offset * using a text style if possible, e.g. "last week", "this week", * "next week", "yesterday", "tomorrow". Falls back to numeric * style if no appropriate text term is available for the specified * offset in the object's locale. * * This method populates a UFormattedRelativeDateTime, which exposes more * information than the string populated by format(). * * @param reldatefmt * The URelativeDateTimeFormatter object specifying the * format conventions. * @param offset * The signed offset for the specified unit. * @param unit * The unit to use when formatting the relative * date, e.g. UDAT_REL_UNIT_WEEK, UDAT_REL_UNIT_FRIDAY. * @param result * A pointer to a UFormattedRelativeDateTime to populate. * @param status * A pointer to a UErrorCode to receive any errors. In * case of error status, the contents of result are * undefined. * @stable ICU 64 */ U_STABLE void U_EXPORT2 ureldatefmt_formatToResult( const URelativeDateTimeFormatter* reldatefmt, double offset, URelativeDateTimeUnit unit, UFormattedRelativeDateTime* result, UErrorCode* status); /** * Combines a relative date string and a time string in this object's * locale. This is done with the same date-time separator used for the * default calendar in this locale to produce a result such as * "yesterday at 3:45 PM". * * @param reldatefmt * The URelativeDateTimeFormatter object specifying the format conventions. * @param relativeDateString * The relative date string. * @param relativeDateStringLen * The length of relativeDateString; may be -1 if relativeDateString * is zero-terminated. * @param timeString * The time string. * @param timeStringLen * The length of timeString; may be -1 if timeString is zero-terminated. * @param result * A pointer to a buffer to receive the formatted result. * @param resultCapacity * The maximum size of result. * @param status * A pointer to a UErrorCode to receive any errors. In case of error status, * the contents of result are undefined. * @return * The length of the formatted result; may be greater than resultCapacity, * in which case an error is returned. * @stable ICU 57 */ U_STABLE int32_t U_EXPORT2 ureldatefmt_combineDateAndTime( const URelativeDateTimeFormatter* reldatefmt, const UChar * relativeDateString, int32_t relativeDateStringLen, const UChar * timeString, int32_t timeStringLen, UChar* result, int32_t resultCapacity, UErrorCode* status ); #endif /* !UCONFIG_NO_FORMATTING && !UCONFIG_NO_BREAK_ITERATION */ #endif
SIMPAN PERUBAHAN