/** * Get a text representation of the date represented by the given integer. * (PortaBase stores a date YYYY-MM-DD as the integer with digits YYYYMMDD.) * * @param date The integer-encoded date to be formatted * @return The formatted date */ QString Formatting::dateToString(int date) { int y = date / 10000; int m = (date - y * 10000) / 100; int d = date - y * 10000 - m * 100; QDate dateObj(y, m, d); return dateToString(dateObj); }
void InitClassCode() { Date dateObj(6, 22, 1988); const Date cDateObj(6, 11, 1988); cout<<cDateObj.GetDay()<<endl; cout<<dateObj.GetDay()<<endl; cout<<Date::sVal<<endl; }
/** * Test hiding of parse() and format() APIs in the Format hierarchy. * We test the entire hierarchy, even though this test is located in * the DateFormat API test. */ void IntlTestDateFormatAPI::TestNameHiding(void) { // N.B.: This test passes if it COMPILES, since it's a test of // compile-time name hiding. UErrorCode status = U_ZERO_ERROR; Formattable dateObj(0, Formattable::kIsDate); Formattable numObj(3.1415926535897932384626433832795); Formattable obj; UnicodeString str; FieldPosition fpos; ParsePosition ppos; // DateFormat calling Format API { logln("DateFormat"); DateFormat *dateFmt = DateFormat::createInstance(); if (dateFmt) { dateFmt->format(dateObj, str, status); dateFmt->format(dateObj, str, fpos, status); delete dateFmt; } else { errln("FAIL: Can't create DateFormat"); } } // SimpleDateFormat calling Format & DateFormat API { logln("SimpleDateFormat"); status = U_ZERO_ERROR; SimpleDateFormat sdf(status); // Format API sdf.format(dateObj, str, status); sdf.format(dateObj, str, fpos, status); // DateFormat API sdf.format((UDate)0, str, fpos); sdf.format((UDate)0, str); sdf.parse(str, status); sdf.parse(str, ppos); } // NumberFormat calling Format API { logln("NumberFormat"); status = U_ZERO_ERROR; NumberFormat *fmt = NumberFormat::createInstance(status); if (fmt) { fmt->format(numObj, str, status); fmt->format(numObj, str, fpos, status); delete fmt; } else { errln("FAIL: Can't create NumberFormat()"); } } // DecimalFormat calling Format & NumberFormat API { logln("DecimalFormat"); status = U_ZERO_ERROR; DecimalFormat fmt(status); if(U_SUCCESS(status)) { // Format API fmt.format(numObj, str, status); fmt.format(numObj, str, fpos, status); // NumberFormat API fmt.format(2.71828, str); fmt.format((int32_t)1234567, str); fmt.format(1.41421, str, fpos); fmt.format((int32_t)9876543, str, fpos); fmt.parse(str, obj, ppos); fmt.parse(str, obj, status); } else { errln("FAIL: Couldn't instantiate DecimalFormat, error %s. Quitting test", u_errorName(status)); } } // ChoiceFormat calling Format & NumberFormat API { logln("ChoiceFormat"); status = U_ZERO_ERROR; ChoiceFormat fmt("0#foo|1#foos|2#foos", status); // Format API fmt.format(numObj, str, status); fmt.format(numObj, str, fpos, status); // NumberFormat API fmt.format(2.71828, str); fmt.format((int32_t)1234567, str); fmt.format(1.41421, str, fpos); fmt.format((int32_t)9876543, str, fpos); fmt.parse(str, obj, ppos); fmt.parse(str, obj, status); } // MessageFormat calling Format API { logln("MessageFormat"); status = U_ZERO_ERROR; MessageFormat fmt("", status); // Format API // We use dateObj, which MessageFormat should reject. // We're testing name hiding, not the format method. fmt.format(dateObj, str, status); fmt.format(dateObj, str, fpos, status); } }