DateConvert.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Globalization;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Windows.Data;
  9. namespace WPfPointInfo.InfoProperty
  10. {
  11. public class DateConvert : IValueConverter
  12. {
  13. public static readonly DateConvert Date = new DateConvert();
  14. public static readonly DateConvert DateTime = new DateConvert() { DataTimeFormat = "yyyyMMddHHmmss" };
  15. public DateConvert()
  16. {
  17. DataTimeFormat = "yyyyMMdd";
  18. }
  19. public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
  20. {
  21. DateTime dateTime = System.DateTime.Now;
  22. if (value == null)
  23. return dateTime;
  24. if (System.DateTime.TryParseExact(value.ToString(), DataTimeFormat, CultureInfo.CurrentCulture,
  25. DateTimeStyles.AssumeLocal, out dateTime))
  26. {
  27. return dateTime;
  28. }
  29. return System.DateTime.Now;
  30. }
  31. public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
  32. {
  33. try
  34. {
  35. DateTime dateTime = (DateTime)value;
  36. return dateTime.ToString(DataTimeFormat);
  37. }
  38. catch (Exception)
  39. {
  40. }
  41. return string.Empty;
  42. }
  43. public string DataTimeFormat { get; set; }
  44. }
  45. }