Lorsque vous obtenez la date de la DB exécuter à travers la premier code que nous publierons alors avant que vous enregistrez ou mettre à jour le DATE exécuter le deuxième code affiché
Code de style avec DASHES
helper = new DBHelper(this);
dbList = new ArrayList<>();
dbList = helper.getDataFromDB();
if (dbList.size() > 0 && tORf.equalsIgnoreCase("false")) {
btnSave.setVisibility(View.INVISIBLE);
String NVrowid = String.valueOf(dbList.get(position).getRowid());
String NVstation = dbList.get(position).getStation_Name();
String NVpurchasedate = dbList.get(position).getDate_of_Purchase();
StringBuilder addDASH = new StringBuilder(NVpurchasedate);
addDASH.insert(2, '-');
addDASH.insert(5, '-');
/* Code ABOVE formats date XX-XX-XXXX sent from DB */
/* Stored as a 8 character string this format 01292017*/
String NVcost = dbList.get(position).getGas_Cost();
etStation.setText(NVstation);
etPurchaseDate.setText(addDASH);
etCost.setText(NVcost);
}
Maintenant, avant d'enregistrer le code de retour à la DB exécuter à travers ce code
if(etPurchaseDate.length()==10) {
/* NO spaces \ No = \ NO - \ NO -- \ ONLY numbers \ NO - at the end*/
String tstr = "^(?!.*\\s)^(?=.*)^(?!-)(?!.*--)[0-9-]+(?<!-)$";
String astr = etPurchaseDate.getText().toString().trim();
Pattern regex = Pattern.compile(tstr);
Matcher regexMatcher = regex.matcher(astr);
boolean foundMatch = regexMatcher.find();
if (foundMatch == true) {//IF FOUND REMOVE THE DASH'S AND STORE DATA
/* Routine puts DATE back in DB as 8 Character String REMOVES dashes "-" */
StringBuilder removeTHIS = new StringBuilder(etPurchaseDate.getText().toString());
String value = removeTHIS.toString().replace("-", "");
etPurchaseDate.setText(value);
etCost.requestFocus();
purchase_date = value;
etCost.requestFocus();
//return;
Toast.makeText(DetailsActivity.this, "Date was Formatted for Storage", Toast.LENGTH_LONG).show();
}
}
nouvelle SimpleDataFormat ("jj/mm/aaaa hh: mm", Locale.ROOT) .format (nouveau Date (long)); – Thracian
Désolé, mais je ne comprends pas, pour obtenir le temps de la base de données je suis utiliser cette commande | employee.getTIME() | Et je récupère la chaîne avec la date sur ce format ("aaaa-mm-jj hh: mm: ss"); comment j'ai mis cette corde dans la commande que tu m'as donnée? – sharon2469
Si les dates sont enregistrées en tant que chaînes, vous devez les analyser à Date avant de les reformater. Vérifiez la [conversion de la chaîne en date] (https://stackoverflow.com/questions/4216745/java-string-to-date-conversion). – Thracian